2

在我小白的頭腦和程序,當我對一個類創建一個類,我在一個新的文件客觀C關於類別的解釋?

NSArray+Shuffle.h and .m

創建它,但我注意到,當我創建例如視圖控制器,

我在執行:

@interface PingusViewController() 

@end 

@implementation PingusViewController 
... 
@end 

所以我的問題是:

什麼是

@interface PingusViewController() 

@end 

部分?,這是用於類別?或者有什麼用?,如果是用於類別,爲什麼在這裏使用它而不是在一些新文件中?

謝謝!

回答

2

它被稱爲類擴展

將其視爲您班級私人申報的常規地點。

它通常在實現文件中聲明,而不是在頭文件中聲明,因爲聲明被認爲是私有的,並且僅用於類@implementation

類別OTOH是作者通常用來擴展類的公共接口的接口。聲明是相似的 - 畢竟,類擴展只是一個未命名的類別,但應用程序是不同的(按照慣例)。