我有一個Objective-c類「MyClass」。在MyClass.m我有一個類擴展聲明一個CGFloat
屬性:在類擴展中@property(nonatomic,只讀)和@property之間的區別?
@interface MyClass()
@property (nonatomic) CGFloat myFloat;
@end
@implementation MyClass
@synthesize myFloat;
//...
@end
什麼變化時,使用readonly
關鍵字聲明屬性(如果有的話)?
@interface MyClass()
@property (nonatomic, readonly) CGFloat myFloat;
@end
@implementation MyClass
@synthesize myFloat;
//...
@end
也許,在第一種情況下,我可以說self.myFloat = 123.0;
和CGFloat f = self.myFloat;
內MyClass的?然後,在第二種情況下,readonly
關鍵字防止分配self.myFloat = 123.0;
但允許讀CGFloat f = self.myFloat;