网站做快速排名是怎么做的呢,淘宝开网店怎么开 新手,青岛seo服务,小广告多的网站文章目录 1. 深拷贝 和 浅拷贝的区别2. 懒加载模式3. frame和bounds有什么不同#xff1f;4. What is push notification#xff1f;推送实现 5. 什么是序列化#xff1f;6. 什么是安全释放7. 响应者链8. 简述沙盒机制 1. 深拷贝 和 浅拷贝的区别
浅拷贝是指针拷贝#xf… 文章目录 1. 深拷贝 和 浅拷贝的区别2. 懒加载模式3. frame和bounds有什么不同4. What is push notification推送实现 5. 什么是序列化6. 什么是安全释放7. 响应者链8. 简述沙盒机制 1. 深拷贝 和 浅拷贝的区别
浅拷贝是指针拷贝对一个对象进行浅拷贝相当于对指向对象的指针进行复制产生一个新的指向这个对象的指针对象销毁后两个指针都应该置空 深拷贝是对一个对象进行拷贝相当于对对象进行复制参数一个新的对象当一个对象改变或销毁后拷贝的新的对象不受影响。
2. 懒加载模式
懒加载又叫延迟加载只有在需要的时候才进行加载可用来加载控件、属性。 懒加载模式的实质就是一个特殊的getter方法,特殊在在getter方法的内部包含一段用于初始化创建对象的代码逻辑但该逻辑只执行一次 优点
因为懒加载代码逻辑只执行一次,而且是在需要的时候才会执行,不需要的时候就不执行就提高了代码的效率,节约了系统所占用内存的资源;使用懒加载模式可以将控件的初始化都放在getter方法中,这样可以降低viewDidLoad方法的复杂度,使得代码更加简洁,降低的代码的耦合度
3. frame和bounds有什么不同
frame指的是:该View在父View坐标系中的位置和大小。参照点是父View的坐标系 bounds指的是该View在本身坐标系系统中的位置和大小。参照点是本身坐标系统
4. What is push notification
推送通知是一种技术有本地推送和网络推送。 一般的推送通知是服务端push 消息给app端。
推送实现
1.由App向iOS设备发送一个注册通知用户需要同意系统发送推送。 2.iOS应用向APNS远程推送服务器发送App的Bundle Id和设备的UDID。 3.APNS根据设备的UDID和App的Bundle Id生成deviceToken再发回给App。 4.App再将deviceToken发送给远程推送服务器(自己的服务器), 由服务器保存在数据库中。 5.当自己的服务器想发送推送时, 在远程推送服务器中输入要发送的消息并选择发给哪些用户的deviceToken由远程推送服务器发送给APNS。 6.APNS根据deviceToken发送给对应的用户。
5. 什么是序列化
把对象转换为字节序列的过程称为对象的序列化把字节序列恢复为对象的过程称为对象的反序列化
条件 可以用来将对象写到文件或者数据库里并且可以读取出来 遵循NSCoding协议来实现复杂对象的存储 实现该协议后就可以对其进行打包或者解包然后转化为NSData
序列化常用途径
归档 plist文件Foundation自带对象类型用户自定义对象类型CoreDatasqliteNSUserDefault
6. 什么是安全释放
对象释放的时候 指针指向nil
[p release]
p nil;7. 响应者链
** 事件传递**
当iOS程序中发生触摸事件后系统会将事件加入到UIApplication管理的一个任务队列中UIApplication将处于任务队列最前端的事件向下分发即UIWindowUIWindow将事件向下分发即UIViewUIview首先看自己是否能处理事件触摸点是否在自己身上。如果能那么继续寻找子视图。遍历子控件重复以上两步。如果没有找到那么自己就是事件处理者如果自己不能处理那么不做任何处理 事件传递 首先会判断该响应者是否可以响应事件然后通过以下两个方法判断是否是合适的View
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event响应者链
继承UIResponder的都可以看成一个响应者被添加进入响应者链从通过事件传递找到的最合适的 View 开始向上级视图延伸形成一条链
事件的传递是从上到下父控件到子控件事件的响应是从下到上顺着响应者链条向上传递子控件到父控件
8. 简述沙盒机制
每一个 应用程序都有一个属于自己的沙盒目录只能访问自己的沙盒目录不能访问其它应用程序的目录