iOS 高频面试题及详细答案(实战干货版).docxVIP

  • 1
  • 0
  • 约5.6千字
  • 约 8页
  • 2026-10-12 发布于河北
  • 举报

iOS 高频面试题及详细答案(实战干货版).docx

iOS高频面试题及详细答案(实战干货版)

一、Objective-C基础核心

1.讲讲OC中的@property关键字修饰符及区别

日常开发中@property主要分为内存管理、读写权限、线程安全三类修饰符,核心区别如下:

内存管理类

strong:默认修饰对象类型,持有引用,计数器+1。属性销毁前对象不会释放,适用于所有OC对象,是最常用的修饰符。

weak:弱引用,不增加引用计数。对象销毁后属性自动置nil,专门用来解决循环引用,常用于代理、控件、block内部引用对象。

assign:直接赋值,不做内存管理,不参与引用计数。专门修饰基本数据类型(int、float、BOOL)、枚举、结构体,修饰对象会产生野指针。

copy:拷贝对象,生成新内存地址。NSString、NSArray、NSDictionary常用,目的是防止外部可变对象修改导致属性值被篡改。可变对象用copy会变成不可变类型。

读写权限类

readwrite:默认,同时生成getter、setter方法。

readonly:只生成getter方法,外部无法赋值,常用于对外暴露的只读属性。

线程安全类

atomic:默认,保证读写操作的原子性,单条读写线程安全,但不保证多线程连续操作安全,性能差。

nonatomic:非原子操作,不保证线程安全,读写速度快,日常开发几乎全部使

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档