2010-08-01 158 views
2

我已經堆了NSMutableArray的類,我在A級使用如何在多個類中使用相同的類別?

@implementation NSMutableArray (StackUtil) 

- (void)push:(id)stackObject { 

[self addObject:stackObject]; 
} 
- (id)pop { 

id retVal = [[self lastObject]retain]; 
[self removeLastObject]; 
return [retVal autorelease]; 
} 

@end 

如何正確包括這一類別爲B類是無關的課嗎?另外我注意到,當我#將類A引入類C的頭部時,類別方法可以工作,但是我得到「對象可能不響應推送消息」警告。是否有人可以清除類別是如何「重複使用」以及爲什麼他們有名字(本例中是StackUtil)以及它們是如何使用的。

回答

6

在聲明類別的頭文件中應該有相應的@interface NSMutableArray (StackUtil)。導入該標題應足以將新方法的使用傳送到導入範圍內的任何NSMutableArray

@interface NSMutableArray (StackUtil) 
- (void) push:(id)stackObject; 
- (id) pop; 
@end 

當然,@interface,而且通常@implementation,應該在自己的文件,獨立於你的類A,B和C中,因爲它們是通用的補充,不是屬於那些之一客戶端類。

+1

是的!在界面中定義類別是我錯過的。現在看來我真的很基本。希望這篇文章能夠幫助其他新的類別。 – ghostsource 2010-08-01 22:39:43

相關問題