2017-09-26 84 views
0

我想知道是否可以在另一類相同類型中實際調用類別的方法。我試過這樣做,但似乎並不奏效。我想知道這是一種合適的方式,或者至少可能嗎?Objective C - 是否可以從另一個相同類型的類別中調用類別的方法?

對於前:

CategoryA文件

@implementation UIImage (UIImage+CategoryA) 

-(void)doThis { 
    NSLog(@"Something...."); 
} 

類別b文件

#import "UIImage+CategoryA.h" 

@implementation UIImage (UIImage+CategoryB) 

-(void)someMethod { 
    [self doThis]; // Can I do this? 
} 


任何討論/答案/見解是值得歡迎的。

+1

「似乎不起作用」是什麼意思? –

+1

看起來應該可以工作。你得到的錯誤是什麼? –

+0

我收到編譯器錯誤:'UIImage'沒有可見的@interface聲明選擇器'doThis'。 –

回答

1

類別爲原始類添加方法。這是Objective-C,所以沒有訪問控制的概念:只要它們存在,它們就可以被所有人訪問。因此,任何帶有指向類的實例和類別知識的指針都可以調用它們。這包括在同一類別的其他類別中實施的方法。

所以,是的,這是可能的。

+0

拍攝。正如我懷疑的那樣,問題在於Xcode索引不正確。清理並重新啓動Xcode後,一切正常(面掌)。需要堅持基礎。謝謝回答。 :) –

相關問題