2014-09-26 90 views
-3

Class1.h:如何通過子類對象訪問父母方法在目標C

@interface Class1 : NSObject 
-(void) update; 
@end 
@interface Class1 (Private) -(void) private1; -(void) private2; @end 

Class1.m:

@implementation Class1 

-(void) update 
{ 
    [self private1]; 
    [self private2]; 
} 

-(void) private1 
{ 
    // some code 
NSLog(@"i used in class2"); } 

-(void) private2 
{ 
    // another code 
NSLog(@"me too used in class2"); } 

@end 

Class2.h:

@interface Class2 : Class1 

@end 

Class2.m :

@implementation Class2 

@end 

的main.m:

int main() 
{ 

Class2 *class=[[Class2 alloc]init]; 

[class update]; 

} 

的問題是:我繼承類2:1類這樣 ,現在我想訪問過的Class2對象「類」目前Class1中的方法更新。 但我給我警告..爲什麼發生這種情況? 爲什麼我不能訪問? plz告訴我有關此具體內容的全部解釋

+1

這應該工作。什麼是確切的警告? – Droppy 2014-09-26 12:08:02

+1

始終包含* exact *和* complete *錯誤消息。 – 2014-09-26 12:27:10

+0

現在一切正常....我不知道問題是什麼..?它現在工作正常 – 2014-09-26 13:12:52

回答

0

您的代碼應該可以工作;您可以通過子類訪問update

在沒有確切的錯誤消息,我要的猜它的編譯器不知道Class2因爲你還沒有加入main.m如下:

#import "Class2.h" 

(爲此事#import "Class1.h" in Class2.h)。

0
Class2 *class=[[Class alloc]init]; 

你應該使用Class2這裏不Class。可能是一個錯字。還有一件事Class是ObjC中的一種數據類型。可能是它警告你。像

Class2 *class=[[Class2 alloc]init]; 
+0

對不起...輸入錯誤有類2 – 2014-09-26 12:20:34

+0

然後提到警告消息? – 2014-09-26 12:21:33

+0

不要使用'Class'作爲類名,除非你的意思。 – 2014-09-26 12:26:20

相關問題