加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 教程 > 正文

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编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读