前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS中的各种理论知识

iOS中的各种理论知识

作者头像
用户1451823
发布2018-09-13 17:23:01
3570
发布2018-09-13 17:23:01
举报
文章被收录于专栏:DannyHoo的专栏

Objective-C 部分

1. 你如何理解OC 的内存管理 OC 内存管理是基于引用计数。谁想使用某个对象B,就要把对象B 的计数器+1,如果不

使用这个对象了,那么就把对象B 计数器-1,如果B 对象计数器减到0,那么B 对象自动会调用自己的 dealloc函数,也就是这个对象被销毁。

一句话就是谁拥有对象,谁负责释放该对象,谁alloc 谁应该release 或者autorelease

系统有一个自动释放池,对于一些对象我们可以放在自动释放池中。如果自动释放池本身销毁,那么里面的内容会被全部调用release.

  1. assign, retain, copy, autorelease, release, dealloc 的不同 assign 就是基本的赋值,就是C 的基本的赋值retain 就是让对象引用计数+1,表示拥有了这个对象copy 把对象复制一份。copy 是深拷贝,浅拷贝auorelease 把对象放在自动释放池里面 release 表示对象计数器-1 如果减到 0 那么对象自动 dealloc 
  2. self.name= “yang”和name= “yang”的关系 self.name 表示调用setter 调用一个函数 name=”year”表示给字段field 赋值
  3. 什么是深拷贝和浅拷贝copy 浅拷贝只是拷贝对象本身,不递归的拷贝里面的子对象深拷贝是把对象以及对象的对象递归拷贝。注意强调 mutableCopy不是深拷贝 如果要对自己对象BookModel 实现拷贝那么必须实现 NSCopying协议 实现里面的- (id) copyWithZone:(NSZone *)zone; 
  4. copy 和mutableCopy 是什么 mutableCopy 可变拷贝NSString --àmutableCopy-àNSMutableString NSArray --àmutableCopy-àNSMutableArray; NSMutableString -àcopy---NSString 
  5. #import 和#include 区别

#import 对于包

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015年09月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档