摘要: 7.runtime实现的机制是什么,怎么用,一般用于干嘛. 你还能记得你所使用的相关的头文件或者某些方法的名称吗? 运行时机制,runtime库里面包含了跟类、成员变量、方法相关的API,比如获取类里面的所有成员变量,为类动态添加成员变量,动态改变类的方法实现,为类动态添加新的方法等 需要导入<ob 阅读全文
posted @ 2016-11-23 15:39 Juilliard 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 1. 定义一个静态的实例成员=>保证对象在内存中只有一个副本,而且是保存在静态区的 static id instance; 2. 提供一个全局的访问方法,都以 shared + 类名 格式定义 + (instancetype)sharedSoundTools; 3. 重写 allocWithZone 阅读全文
posted @ 2016-11-23 15:28 Juilliard 阅读(92) 评论(0) 推荐(0) 编辑
摘要: const的作用: const仅仅用来修饰右边的变量(基本数据变量p,指针变量*p)。 被const修饰的变量是只读的。 static的作用: 修饰局部变量: 1.延长局部变量的生命周期,程序结束才会销毁。 2.局部变量只会生成一份内存,只会初始化一次。 3.改变局部变量的作用域。 修饰全局变量 1 阅读全文
posted @ 2016-11-23 15:21 Juilliard 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 一、编译器和语法变化 函数或方法参数 调用函数或方法时从第一个参数开始就必须指定参数名 在Swift的历史版本中出现过在调用函数时不需要指定任何函数参数(或者从第二个参数开始指定参数名),在调用方法时则必须从第二个参数开始必须指定参数名等多种情况,而在Swift3.0中不管是函数还是方法都必须从第一 阅读全文
posted @ 2016-11-23 15:15 Juilliard 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 自动释放池以栈的形式实现:当你创建一个新的自动释放池时,它将被添加到栈顶。当一个对象收到发送autorelease消息时,它被添加到当前线程的处于栈顶的自动释放池中,当自动释放池被回收时,它们从栈中被删除, 并且会给池子里面所有的对象都会做一次release操作. 阅读全文
posted @ 2016-11-23 14:55 Juilliard 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 你用过NSOperationQueue么?如果用过或者了解的话,你为什么要使用NSOperationQueue,实现了什么?请描述它和GCD的区别和类似的地方(提示:可以从两者的实现机制和适用范围来描述)。 1> GCD是纯C语言的API,NSOperationQueue是基于GCD的OC版本封装 阅读全文
posted @ 2016-11-23 14:53 Juilliard 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 属性关键字的作用 现在我们iOS开发中,基本都是使用ARC(自动引用计数)技术,来编写我们的代码。因此在属性property中我们经常使用的关键字有strong,weak,assign,copy,nonatomic,atomic,readonly,readwrite,getter,setter。可能 阅读全文
posted @ 2016-11-23 14:17 Juilliard 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 对于weak:指明该对象并不负责保持delegate这个对象,delegate这个对象的销毁由外部控制。 对于strong:该对象强引用delegate,外界不能销毁delegate对象,会导致循环引用(Retain Cycles) 对于assing:也有weak的功效。但是网上有assign是指针 阅读全文
posted @ 2016-11-23 14:14 Juilliard 阅读(1557) 评论(0) 推荐(1) 编辑
摘要: 图文混排的形式 一.富文本 我们可以采用attributeString来进行图文混排.例如一个文字上插入一个图片.实现如下: 2. coreText 1) 什么是coreText? iOS/OSX中用于描述富文本的类是NSAttributedString,顾名思义,它比NSString多了Attri 阅读全文
posted @ 2016-11-23 14:03 Juilliard 阅读(275) 评论(0) 推荐(0) 编辑
摘要: //打开数据库 如果没有就创建 NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject]stringByAppendingPathComp 阅读全文
posted @ 2016-11-23 13:31 Juilliard 阅读(287) 评论(0) 推荐(0) 编辑
摘要: //1.创建数据库 NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject]stringByAppendingPathComponent: 阅读全文
posted @ 2016-11-23 13:29 Juilliard 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 1,用代码插入数据 for (int i = 0; i < 100; i++) { NSString *nameStr = [NSString stringWithFormat:@"mingyueixn-%d",arc4random_uniform(100)]; NSString *sqlStr = 阅读全文
posted @ 2016-11-23 13:28 Juilliard 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 加载类到内存,程序刚启动的时候调用,调用在main函数之前 1.+(void)load{ } 初始化类,类第一次使用的时候调用一次 2.+(void)initialize{ } 控制器的视图架构,设置控制器的根view,重写该方法后,以该方法为主,storyboard文件将不再起作用 3.-(voi 阅读全文
posted @ 2016-11-23 11:41 Juilliard 阅读(108) 评论(0) 推荐(0) 编辑