1 前言
本节我们主要介绍了一下属性声明的方式和与存储方法的关系。
转载请注明转自:http://blog.csdn.net/developer_zhang
2 详述
属性声明提供了一个为声明一个类存储方法和他们的可选的实现的动态的记法。我们能够声明一个属性在类的接口中,或者在一个协议或者类别的声明中的方法声明列表中的任何地方。我们可以使用下面的语法:
@property (<#attributes#>) <#type#> <#name#>;
我们使用关键字@property开始一个属性声明。我们能够随意的提供一个定义了存储易于和其他属性行为的属性的括弧集合。(涉及对于描述这些属性的决定性描述属性列表的文档)
每个属性声明以类型声明和名字结尾。例如:
@property(copy) NSString* title;
这种语法等同于声明了如下的存储方法:
-(NSString *)title;
-(void)setTitle:(NSString *)newTitle;
除此之外的声明存储方法,我们可以命令编译器来合成他们的实现(或者通知编译器我们的类在运行时即将合成他们)。
我们可以使用@synthesize语句在类的实现块中来告诉编译器来在属性声明中创建可以匹配我们所给描述的实现。
@interface MyClass:NSObject
{
NSString *title;
}
@property(copy) NSString* title;
@end
@implementation MyClass
@synthesize title;
@end
我们使用@dynamic语句来告诉编译器忽略警告如果它不能够找到被
@property声明所规定的存储方法的实现。
@implementation MyClass
@dynamic title;
@end
3 结语
以上是所有内容,希望对大家有所帮助。