尽管已经写了一段时间的oc但对self.xxx和_xx的理解以及在三方代码中看到的@synthesize不是很理解,写代码还是不能太随便,不理解的东西写多了容易埋坑,所以还是花了点时间整理下这些到底是什么
什么是成员变量和属性
@interface Person : NSObject
{
NSString *name ; // 成员变量,实例变量
}
// 属性
@property (nonatomic, strong) NSString *pName;
@end
定义在h文件中的属性和成员变量和m文件中定义的区别以及属性的特质相关内

本文探讨了Objective-C中@property的历史,解释了@dynamic关键字的作用。在iOS5之前,属性通常通过@synthesize自动合成实例变量。然而,@dynamic表明开发者会手动实现setter和getter。在对象内部,直接访问实例变量(_XX)可能更快,但使用self.xx可以实现懒加载并避免内存管理问题。选择使用方式应考虑性能、懒加载和内存管理等因素。
最低0.47元/天 解锁文章
550

被折叠的 条评论
为什么被折叠?



