美文网首页
内存管理总结

内存管理总结

作者: success_flower | 来源:发表于2019-11-20 09:41 被阅读0次
1.id和instanceType区别?
id :返回值,参数类型,修饰变量
instanceType:只能作为方法和函数的返回值
优点:instanceType 能精确的限制返回值的具体返回类型
2. id和NSObject区别?
id :编译时不检测类型,不强转
NSObject:编译时检测类型,并强转
相同:都可以指向任何对象
3. id、nil、Nil、NULL、NSNULL区别?
id :一种特殊的数据类型,内部实际上是指向对象的实例变量的指针,可以指向任何对象
nil:实例对象的值
Nil:类对象的值
NULL:基本数据的空指针
NSNULL:对象
4. new
1.申请内存空间
2.初始化实例对象,并赋值
3.返回首地址
5. atmic和noatmic的区别
主要区别:编译器生产的getter&setter方法是否加锁
注意:atmic不是绝对安全,因为他仅仅对setter&getter方法加锁,
所以其他线程在操作setter或者getter时,会执行完当前操作,以保证线程安全
但是如果另外一线程操作release的话,会crash。
6. @property 的作用
@property = getter+setter+ivar
1.在.h文件中声明实例变量,setter&getter方法
2.在.m文件中自动生成实例变量,setter&getter方法
注意:我们可以手动实现setter&getter方法,不过这样的话,
我们也需要手动添加实例变量

相关文章

  • iOS经典面试题总结--内存管理

    iOS经典面试题总结--内存管理 iOS经典面试题总结--内存管理

  • 12.Objective-C之集合对象的内存管理

    1.前言 1.集合对象的内存管理 2.集合对象内存管理总结:

  • Java内存管理

    Java内存管理-JVM内存模型以及JDK7和JDK8内存模型对比总结

  • 内存管理总结

    CADisplayLink、NSTimer使用注意 CADisplayLink、NSTimer会对target产生...

  • 内存管理总结

    1.内存区域 1>堆和栈的区别 管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由...

  • 内存管理总结

    +array 方法并不是生成持有的对象 而是 通过生成并持有对象后加入autoreleasePool(自动释放池)...

  • 内存管理总结

    1.id和instanceType区别? 2. id和NSObject区别? 3. id、nil、Nil、NULL...

  • 内存管理总结

    一、在 Obj-C 中,如何检测内存泄漏?你知道哪些方式? 目前我知道的方式有以下几种 Memory Leaks ...

  • 内存管理

    内存管理知识点总结 1 内存管理对象 值类型和引用类型 ** 值类型:** 比如 int float struc...

  • android 内存问题处理资源整理

    Android最佳性能实践(二)——分析内存的使用情况 android内存管理建议译文 android内存泄露总结...

网友评论

      本文标题:内存管理总结

      本文链接:https://www.haomeiwen.com/subject/meinictx.html