IOS面试题
Storyteller-LS
希望五年以后我还从事这个行业
展开
-
关于Object-c 动态语言
1、关于动态语言? 没有一个明确的定义,主要是指runtime到底使用了多少bookkeeping的数据。一般定义:程序在运行时可以改变他的结构(修改对象和类),新的函数可以被引用进来,已有的函数可以被删除等结构上的变化。动态语言也称动态类型语言,是指类型检查是在运行时做的,静态语言是在运行前做。 Object-c的动态性主要体现在三个方面: 1、动态类型。如id类型,实际上静态类型因为其固定原创 2017-07-09 09:26:47 · 493 阅读 · 0 评论 -
IOS多线程的三种方案
IOS多线程主要有三种 NSTheard GCD NSOperation & NSOperationQueueNSTheard这是最轻量级的多线程的方法,使用起来最直观的多线程编程方法。但是因为需要自己管理线程的生命周期,线程同步。经常使用NSThread进行调试,在实际项目中不推荐使用。//取消线程- (void)cancel;//启动线程- (void)start;//判断翻译 2017-07-21 16:57:40 · 330 阅读 · 0 评论 -
IOS数据持久化的五种方案
P**重点内容**list文件(属性列表) NSUserDefaults NSKeyedArchiver(归档) SQLite 3 CoreDataPlist文件iOS程序默认情况下只能访问程序自己的目录,这个目录被称为“沙盒”。目录结构"应用程序包"DocumentsLibrary Caches Preferencestmp------------翻译 2017-07-22 08:26:41 · 266 阅读 · 0 评论 -
IOS的循环引用及解决方法
何为循环引用: 循环引用可以简单理解为A引用了B,而B又引用了A,双方都同时保持对方的一个引用,导致任何时候引用计数都不为0,始终无法释放。 后果: 内存不能及时释放,导致内存泄漏,引发程序崩溃。几种循环引用情景:1、delegate的写法,应按照如下写法,切记不可存在strong标示符。 声明delegate时请用assign(MRC)或者weak(ARC)@property (n翻译 2017-07-19 14:50:33 · 564 阅读 · 0 评论