// GTMFoo.m
#import"GTMFoo.h"
@interface GTMFoo(PrivateDelegateHandling)
- (NSString*)doSomethingWithDelegate; // Declareprivate method
@end
@implementationGTMFoo(PrivateDelegateHandling)
...
- (NSString*)doSomethingWithDelegate {
// Implement this method
}
...
@end
2.属性遵循如下规则:属性是Objective-C2.0的特性,所以只能跑在iPhone以及MacOSX10.5(leopard)或更高的版本。
一个有属性关联实例变量都要在后面加下划线,而该属性的名称就是实例变量不加尾部的下划线的名字。
使用@synthesize标识以正确的重命名属性。
@interface MyClass: NSObject {
@private
NSString *name_;
}
@property(copy,nonatomic) NSString *name;
@end
@implementationMyClass
@synthesize name =name_;
@end
属性的声明必须紧接变量申明的括号后。属性的定义应该紧接@implementation模块后面。它和@interface或者@implementation的缩进是相同的。
@interface MyClass: NSObject {
@private
NSString *name_;
}
@property(copy,nonatomic) NSString *name;
@end
@implementationMyClass
@synthesize name =name_;
- (id)init {
...
}
@end