0
我對objective-c是全新的,我目前處於學習過程中, 我有一個父類A,其屬性a, 我試圖訪問屬性在子類B, 當我訪問屬性,並指定這樣使用消息樣式語法訪問子類中的屬性
[self a:3];
值它不抱怨無可見@interface爲B宣稱選擇器
,但如果我訪問它,從它像閱讀 int something = [self a]; 那麼它不會抱怨。
我知道推薦的方法來訪問屬性是使用。在對象和屬性之間,但從技術上講它應該與消息樣式調用一起工作。但事實並非如此,所以請在此告訴我。
我的代碼是這樣的
// Test class A
@interface A : NSObject
@property int a;
-(void) initMe;
@end
@implementation A
@synthesize a;
-(void) initMe
{
NSLog(@"I am in A");
}
@end
//-------------------------
@interface B : A
-(void) initEx;
@end
@implementation B
-(void) initEx
{
// This line gives a problem as I mentioned above
[self a:3];
NSLog(@"In child class B");
}
@end
///-----------------------
謝謝,但它的奇怪,當我想讀一個值自一]的作品,而不是[個體經營木屐。爲什麼這個不同的命名風格獲取和設置.. :( – Ahmed
@Ahmed你可以在這裏找到所有關於它:https://developer.apple.com/library/mac/#documentation/cocoa/conceptual/objectivec/Chapters/ocProperties .html#// apple_ref/doc/uid/TP30001163-CH17-SW17 – Alladinian
因爲這是蘋果公約,千萬不要使用'get ...',總是使用'set ...'。 –