首页 > iOS怎么定义私有属性

iOS怎么定义私有属性

iOS的接口定义属性根本就没有权限的定义
那我要定义一个私有的属性怎办?


没有特别好的办法,把私有的属性定义在单独的头文件里,把这个头文件不要公开给别人,也就是头文件属性设置为project,不要设置为public。那么当你的程序库发布的时候这个头文件就不会被导出


#import <Foundation/Foundation.h>

@interface Person : NSObject
{
    @public
    NSString *name;
    
    @protected
    NSString *gender;
    
    @private
    NSString *emotion;
}
@end

可以将@property定义写在.m文件中的类扩展(class extension)中,

例如,"MyClass.h"如下

@interface MyClass : NSObject
@end

在"MyClass.m"里可以这么写:

#import "MyClass.h"
@interface MyClass ()
@property (nonatomic, assign) BOOL foo;
@end

@implementation MyClass
@synthesize foo = _foo; //XCode 4.4之后,这行可以省略
@end

详情可以参见官方文档
http://developer.apple.com/library/io...

【热门文章】
【热门文章】