//WLExtensionTest.h
@interface WLExtensionTest : NSObject
@property NSString *str;
-(void) log;
@end
// WLExtensionTest.m
@interface WLExtensionTest(){
NSString *str;
}
@end
@implementation WLExtensionTest
@synthesize str;
-(void) log{
str = @"test";
self.str = @"test1";
NSLog(@"%@, %@", str, self.str);
NSLog(@"%p, %p", self.str, str);
}
@end
使用该类的运行结果:
2012-11-03 15:48:27.986 testExtension[8883:707] 0x475ac, 0x475ac
2012-11-03 15:48:27.991 testExtension[8883:707] test1
上面的例子是在测试 Object-c语言Extension的时候的一个例子, 从上面的结果来看, .m和.h中的str是一个指针.从
apple 文档了解到Extension最常用的方式是:
(1) 在.m中改变.h文件中属性, 也就是对其进行拓展.
(2)Object-c中私有方法的实现.(即只在.m中添加方法)