Objective-C语法property分析
发布时间:2021-12-15 11:31:36 所属栏目:教程 来源:互联网
导读:1、简介: property是Objective-C的关键词,与@synthesize配对使用,用来让编译好器自动生成与数据成员同名的方法声明。@synthesize则是用来生成对应声明方法的实现。 1.1 property的语法格式: @property (参数1,参数2)类型 名字; 这里的参数,主要有以
1、简介: property是Objective-C的关键词,与@synthesize配对使用,用来让编译好器自动生成与数据成员同名的方法声明。@synthesize则是用来生成对应声明方法的实现。 1.1 property的语法格式: @property (参数1,参数2)类型 名字; 这里的参数,主要有以下三种: setter/getter方法(assign/retain/copy) 读写属性(readwrite/readonly) atomicity(nonatomic) 1.2 三种方式的使用 assign/retain/copy 代表赋值的方式。 readonly关键字代表setter不会被生成, 所以它不可以和 copy/retain/assign组合使用。 atomicity的默认值是atomic,读取函数为原子操作。 1.2.1 copy/reain/assign 在其中选择一个来确定属性的setter如何处理这个属性。NSObject对象采用这个中方式。 1.2.2 一些特别的Object比如NSSstring使用copy。 1.2.3 assign关键字代表setter直接赋值,而不是复制或者保留它。适用于基本数据类型,比如NSInteger和CGFloat,或者你并不直接拥有的类型,比如delegates。 2、如何使用property 1.1 没有property和有property的对比 在头文件定义 obj。在.m文件中使用 #import <UIKit/UIKit.h> @interface ViewController : UIViewController { NSObject *obj; } @end - (void)viewDidLoad { [super viewDidLoad]; self.obj = nil;、 } 提示不可用。 加上property #import <UIKit/UIKit.h> @interface ViewController : UIViewController { NSObject *obj; } @property (nonatomic,retain) NSObject *obj; @end ![]() (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |