iOS开发基础
文章平均质量分 69
伪随机的张三
世界会改变你写的代码
展开
-
OC的深Copy和浅Copy
浅层复制:只复制指向对象的指针,而不复制引用对象本身。深层复制:复制引用对象本身。意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一个思想。深复制就好理解了,内存中存在了原创 2014-11-14 00:43:12 · 785 阅读 · 0 评论 -
开通专栏的目的和意义丨专栏撰写方向
如题,可能有的人会觉得奇怪,我为什么要开通一个专栏来写文章。因为技术强?基础知识强?还是能说会道?哪来的自信开通专栏?四个问题挨个回答。我技术不强,我基础知识很薄弱,我说话码字不行因为我语文差,我没自信。开通只是为了更好更深入的去学习和分享技术知识,不是用来炫耀,知识是界限的,当你遇到问题,当你遇到不会的事情,你需要的是这方面的知识。写下文章,充实的是自己,也是在帮助别人。本专栏撰原创 2017-04-19 16:41:47 · 3655 阅读 · 0 评论 -
iOS开发学习专题-基础知识(三)NSDictionary字典NSMutableDictionary可变字典NSDictionary字典和json转换详细使用方式
本文主要讲解的是不可变字典NSDictionary可变字典NSMutableDictionary字典NSDictionary和Json转换详细使用方式包括类型和值之间的转换首先来看看不可变的字典#pragma mark NSDictionary 不可变字典 // NSDictionary用于键值映射 // 1.字典的初始化(常见的几种方式) NSDictio原创 2017-05-12 11:27:47 · 6357 阅读 · 0 评论 -
iOS开发学习专题-基础知识(五) NSDate时间 NSUserDefaults本地存储 NSNotification系统通知的详细使用方式
本文主要讲解的是 NSDate时间、NSUserDefaults本地存储、NSNotification系统通知的详细使用方式,也是NS系列基础知识的最后一篇文章文章是博主原创,转载请标明出处NSUserDefaults是iOS系统提供的一个单例类(iOS提供了若干个单例类),通过类方法standardUserDefaults可以获取NSUserDefaults单例。NSUserDefa原创 2017-05-24 18:33:09 · 2354 阅读 · 0 评论 -
iOS开发学习专题-基础知识(四) NSNumber容器 NSData数据 NSData转换的详细使用方式
本文主要讲解的是 NSNumber容器NSData数据 NSData转和NSString、Byte、UIImage、NSdictionary等转换的详细使用方式文章是博主原创,转载请标明出处NSNumber是一个子类,NSValue为它提供了一个值作为任何C标量(数字)类型。它定义了一组方法特别用于设置和访问值作为符号或无符号char,short int,int,long in原创 2017-05-15 19:00:30 · 1680 阅读 · 0 评论 -
iOS开发-GCD、NSThread、NSOperation的简单示例方法
1.GCD, GCD是基于OS X内核实现的,GCD的API在libdispatch库中,是Apple开发的一个多核编程的解决方法。GCD分发队列种类://主线程队列 main queuedispatch_get_main_queue()//并行队列global dispatch queuedispatch_get_global_queue(DISPATCH_QUEUE_PRIORI原创 2017-11-13 10:08:17 · 353 阅读 · 0 评论 -
iOS开发-iPhoneX的适配-iPhoneX屏幕适配分享
iOS 11正式发布,原本bate版就很多坑,现在还没解决就正式发布了~内心也是酸爽的。除了代码上的坑,更恶劣的就是新的iPhone咯,看到iPhone8和8P的时候内心还算不错的,不过iPhone X就…原创 2017-09-25 13:24:12 · 17144 阅读 · 0 评论 -
iOS 3D Touch开发tableview页面内的使用
上一次写了3DTouch在app icon的使用,时间隔了那么久,其实我早就写完了····就是一直忙着没时间发表文章分享,也是对不住了~这篇文章讲的是3DTouch在页面内的使用 首先声明 childVC(3DTOUCH 的页面)@interface ViewController (){ UITableView * table; NSArray * array;原创 2015-12-30 10:56:16 · 2323 阅读 · 0 评论 -
iOS开发-写给萌新们的UITableView的Cell高度自适应方法
Emmmm…. 时间过得好快,一晃眼一年就过去了,打开尘封已久的CSDN博客,发现自己堕落了无数时光,但人活着总是要混口饭吃的嘛,所以再度起航,键盘敲起来,文章写起来。希望大家能支持我这个垃圾猿,好啦切入正题。 皮一下很开心上周在技术群里看萌新们在问UITableView的Cell怎么自适应宽高(xib和storyboard的我就不说了,关东升老哥的书里全都是),有装大佬的人就给他们...原创 2018-08-20 18:18:39 · 3635 阅读 · 0 评论 -
iOS-12 iPhone XS Max 和iPhone XR新屏幕简单适配方式
在新的机器发布之后,我们需要对更大的刘海屏幕做适配,以下是需要新适配的机型:型号逻辑尺寸系数分辨率iPhone XR414pt * 896pt@2828px * 1792pxiPhone XS Max414pt * 896pt@21242px * 2688px判断 iPhoneX or later 设备不使用size来进行判断。iPhone...原创 2018-09-22 19:41:49 · 9724 阅读 · 0 评论 -
iOS开发-iOS动画开发CoreAnimation核心动画开发-CoreAnimation核心动画综合实践
一、 CoreAnimation 核心动画CoreAnimation提供高帧速率和流畅的动画,而不会给CPU带来负担并降低应用程序的速度。绘制动画的每个帧所需的大部分工作都是为我们完成的。我们可以配置动画参数,例如起点和终点,Core Animation会完成其余工作,将大部分工作交给专用图形硬件,以加速渲染。1.核心动画基本概念:CoreAnimation是跨平台的,支持 iOS 和 M...原创 2018-10-04 16:58:44 · 2498 阅读 · 4 评论 -
iOS开发-iOS多线程开发中踩过的坑-GCD的特性-NSOperation线程依赖-iOS多线程踩坑小结
本期内容:iOS开发中从其他线程回到主线程的方法dispatch_group_create 组的概念dispatch_sync同步调度主线程会死锁的原因项目中什么时候选择GCD什么时候选择NSOperationNSOperation 线程依赖的简单例子GCD的计时器和延时执行简单说说线程死锁和线程安全⭐️iOS开发中从其他线程回到主线程的方法在开发中我们经常使用简单的多线程...原创 2018-10-24 18:15:55 · 1292 阅读 · 0 评论 -
iOS开发-Objective-C语言代码规范-OC代码规范集合-iOS代码规范
为什么要做代码规范?目前的项目大多都是由一个团队来完成,如果没有统一的代码规范,那么每个人的代码必定会风格迥异,在工作中肯定会有多个人同时开发同一模块的情况,即使是分工十分明晰的,等到整合代码、CodeReView、工作接力等情况时问题就会显现出来。统一的风格使得代码可读性大大提高了,人们看到任何一段代码都不用去浪费更多的时间去琢磨。规范不是对开发的制约,而确实是有助于提高开发效率的。,规范的代...原创 2019-04-22 17:59:00 · 718 阅读 · 0 评论 -
iOS开发-用户定位获取-CoreLocation的实际应用-CLLocationManger获取定位权限-CLLocation详细使用方式
iOS提供了两个框架用来定位以及地图显示。CoreLocation框架包含的类可以帮助设备确定位置和航向以及使用基于位置的有效信息。MapKit框架未定位提供了户用页面的支持(地图显示),里面包含了地图视图、卫星地图视图以及2D、3D混合视图,并且能够让开发人员管理地图标注和地图覆盖层,前者 用于标注地点(常见的地图大头针),后者用来突出某区域或者路线等。本期内容:CLLocationMan...原创 2019-04-19 18:18:59 · 5793 阅读 · 0 评论 -
iOS开发学习专题-基础知识(一)NSString NSMutableString NSRange NSNotFound详细使用方式
本文主要讲解的是不可变字符串NSStringNSString可变字符串NSMutableStringNSRangeNSNotFound详细使用方式近期主要做的是iOS开发基础知识Objective-C中常用NS家族详细使用介绍,之后还会有关于NS类家族的详细使用方式包括类型和值之间的转换。敬请期待文章是博主原创,转载请标明出处#pragma mark 不可变字符串原创 2017-04-27 17:55:17 · 2458 阅读 · 0 评论 -
iOS开发学习专题-基础知识(二)NSArray数组NSMutableArray可变数组NSSet集合NSMutableSet可变集合详细使用方式
本文主要讲解的是不可变数组NSArray可变数组NSMutableArray集合NSSet可变集合NSMutableSet详细使用方式包括类型和值之间的转换文章是博主原创,转载请标明出处首先来一个集合的详细方法~#pragma mark NSSet 不可变集合 // NSSet和NSArray有相似之处,都是存储不同的对象的地址 // 但是NSArray是有序的集合,N原创 2017-04-28 18:12:14 · 4475 阅读 · 0 评论 -
iOS开发-NSString小拓展-判断是否纯中文-获取字符所占字节
可以先来简单的拓展一下NSString,如下:h文件里面声明方法#import @interface NSString (ZHCN)- (BOOL)allZH_CN;- (BOOL)includeZH_CN;@end然后是m文件#import "NSString+ZHCN.h"@implementation NSString (ZHCN)//判断是否是纯汉字- (B原创 2017-04-11 13:48:40 · 1299 阅读 · 0 评论 -
Delegate委托设计模式
委托模式透明梗概委托是对一个类的功能进行扩展和复用的方法。它的做法是:写一个附加的类提供附加的功能,并使用原来的类的实例提供原有的功能。场景扩展和复用一个类的功能常用的一种方法是继承,而另一种更普遍的方法则是委托。在很多情况下委托很适用,而继承则并不适用。另外在[MEYERS98]中也讲到,公有继承表现的设计思想是“is-a-kind-of” ,私有继承表现转载 2014-11-17 10:04:50 · 1066 阅读 · 0 评论 -
iOS数据交换格式
iOS数据交换格式主要分为纯文本格式、XML格式原创 2014-11-20 15:54:14 · 847 阅读 · 0 评论 -
iOS开发-OC中属性创建需要注意的地方(property实例变量的创建和标准存取方法)
现在很多iOS开发人员都存在很大水分,包括我之前的几任拍档和面试过的人很多人连 property 属性的创建是为了什么都不清楚就瞎用,导致项目莫名崩溃而他们却还找不到为什么崩溃。今天就来说说property 创建时候的内存管理:① @property (assign)assign 属于ARC的内存管理模式,但是意味着不保留实例变量,也不在销毁之前把该对象设成nil。原创 2016-08-04 16:53:50 · 793 阅读 · 0 评论 -
iOS基础-可变和不可变容器
好久没写博客了,项目紧,公司催的急,哈哈。正文一般后台给接口,用的是数组和字典,正常来说都不是可变的,当你在接受数据的时候很多人会想着强制转换 比如:NSMutableDictionary * data = (NSMutableDictionary *)[self.model.itemobjectForKey:@"data"]这不能从根本源头上解决你的崩溃问题,这样处理原创 2015-01-19 12:15:40 · 717 阅读 · 0 评论 -
iOS开发-iOS直播开发-iOS直播项目开发文档
最近在技术群里被邀请做狗头军师,带着大伙做直播项目,因为公司新空降一个高管项目格局有变所以就没直接参与直播的开发和框架搭建这些工作,不过大家都努力积极的学这是一个好事,希望更多的开发者能够接触到iOS的直播这一块,so今天在这里我就直接把开发文档po出来了~不喜勿喷 一.项目预期目标 通过此项目提高对直播类项目的理解和实际操作,可以在今后工作中有很大帮助,以及在跳槽换岗面试原创 2017-02-09 10:20:39 · 890 阅读 · 0 评论 -
iOS开发-SQLite数据库在App项目中的设置及使用
在iOS开发中,除了UI页面以外使用最多的估计是数据对象的存储了~比如聊天记录、通讯录和通讯记录、浏览记录等等。我们要根据不同的使用方式去对这些数据存储并使用。常用的有:①沙盒机制 ②属性列表plist ③SQLite ④CoreData本文介绍的就是基础的SQLite的存储机制,其他的稍后会陆续跟进~一、首先要注意SQLite的特性:无数据类型的数据库,所以和在别的平原创 2017-01-31 10:12:36 · 3404 阅读 · 0 评论 -
iOS开发-http协议、get和post请求
现在在互联网发展如飞的年带,移动端d原创 2014-11-18 17:33:08 · 880 阅读 · 0 评论 -
iOS8毛玻璃效果-UIView模糊效果
最近公司忙,没来得及写博客,补发一篇小技巧,提供各位看看 //定义毛玻璃效果 UIBlurEffect * blur = [UIBlurEffecteffectWithStyle:UIBlurEffectStyleDark]; UIVisualEffectView * effe = [[UIVisualEffectViewalloc]init原创 2014-12-23 16:03:04 · 5862 阅读 · 1 评论 -
iOS开发-App登录签名数组排序-数组NSArray根据ASCII码小到大排序
对比字段然后排序 现在做各种项目的公司越来越多,涉及到的签名模式基本就一种,这是签名模式的前奏 NSArray * array = [[NSArrayalloc]initWithObjects:@"Nonce",@"DeviceId",@"LicenseNo",@"AppVersion",nil]; NSStringCompareOptions c原创 2015-10-28 08:48:33 · 3869 阅读 · 0 评论 -
iOS开发-UITableView侧滑多选功能
这个功能很多公司都不用,但是一旦遇到了,没人给解决还是麻烦在群里就遇到了问这个问题的人,他的项目需要类似微信删除一行信息的tableview row详细代码如下:- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{ U原创 2015-11-16 15:50:17 · 1099 阅读 · 0 评论 -
苹果WWDC 15 iOS9向我们展示的意义
对于我们开发者来说新的东西都是新的挑战iOS9 揭示了最新的智能连接以及API这就意味着我们开发者的思维要有更强的创新意识,在面对新方向的开发要做好充分的准备我蓄势待发,你们呢?原创 2015-06-09 01:45:55 · 471 阅读 · 0 评论 -
UIPikerView视图的创
最近公司项目里面用到PikerView,所以在自己总结之后来和大家分享一下,这个视图自带的动画比较不错,使用也方便,适合多行信息的显示和事件选择先说说系统自带的datePikerView 有了这个你就可以轻松的实现时间日期的选择创建对象 UIDatePicker *datePicker = [ [ UIDatePicker alloc] initWithFrame:CGRect原创 2015-01-02 23:08:28 · 791 阅读 · 0 评论 -
iOS开发-写给初学者:OC面向对象的三大特征
封装、继承、多态多态:父类指针指向子类对象。两种表现形式:重写(父子类之间)和重载(本类中)OC的多态体现是:重写,没有重载这种表现形式举例说明:@interface Parent : NSObject //父类- (void)simpleCall;@end @interface Child_A : Parent //子类 Child_A原创 2014-11-23 00:35:06 · 1807 阅读 · 0 评论 -
iOS开-发回收键盘
刚开始学习ios开发的童鞋们会有这样的疑问,我点了textfield会弹出键盘,原创 2014-08-21 08:46:59 · 944 阅读 · 0 评论 -
iOS开发-时间设置NSDate
//1),创建一个对象,赋值为当前日期date 创建的NSDate对象,获得的永远是0时区的时间,我们是东八区,需要加上8个小时 NSDate *date = [NSDate date]; NSTimeZone *zone = [NSTimeZone systemTimeZone];//修改时区 NSInteger interval1 = [z原创 2014-08-18 19:32:08 · 1509 阅读 · 0 评论 -
iOS中:分数的用法
定义分数(Fraction)类:1、成员变量:分子、分母2、方法: (1)自定义初始化方法(初始分子和分母)(2)分子的赋值、取值方法(3)分母的赋值取值方法(4)打印分数信息(5)约分(6)加、减、乘、除运算方法,返回分数对象。3、mian.m文件中创建分数对象,测试加、减、乘、除。提示:加减乘除运算有一个Fraction类型的参数(参与加法运算的另外一个分数原创 2014-08-09 11:25:42 · 1476 阅读 · 0 评论 -
iOS13新特性-WWDC2019大会总结-ipadOS发布-SwiftUI重磅发布
时隔一年,又到了一年一度的WWDC,在昨晚熬夜掉了十多根头发看完之后,想写点什么东西,但又不知道写什么好,把感触和大会内容总结一下吧。文章内容大致如下:iOS13新特性ipadOSSwiftUIiOS13性特性在此次大会中iOS13正式发布,新特性包括:全新的深色显示模式相机的人像模式优化,拍摄中有更多的趣味功能。图片支持时间线功能查看,相册会自动识别同场景下拍摄内容,...原创 2019-06-04 11:30:13 · 3163 阅读 · 1 评论