Я тестирую @dynamic в NSObject и CALayer. Когда класс DynamicTest наследует NSObject, запустите
test.title = @ "title";
он завис, потому что тамв классе DynamicTest нет метода установки / получения.
@interface DynamicTest : NSObject
@property NSString *title;
@end
@implementation DynamicTest
@dynamic title;
@end
DynamicTest *test = [[DynamicTest alloc] init];
test.title = @"title";//crashed
, но когда класс DynamicTest наследует CALayer, он работает!,
@interface DynamicTest : CALayer
@property NSString *title;
@end
@implementation DynamicTest
@dynamic title;
@end
DynamicTest *test = [[DynamicTest alloc] init];
test.title = @"title";//it works!
Я знал, что CALayer что-то для этого сделал ,Я хочу знать детали , С нетерпением жду вашей помощи , спасибо 101