3
I didn't get the usage of "Class" in Objective-c file.它看起來像這個開發人員混合c + +和Objective-c(我可能是錯的)。我瞭解到我們可以在Objective-C代碼中編寫C函數,但我不確定這個類的概念。Objective-c - 類關鍵字
由於我是新來的Objective-C所以這將是巨大的,如果有人請參閱我一些教程或書籍,我可以學習。
I didn't get the usage of "Class" in Objective-c file.它看起來像這個開發人員混合c + +和Objective-c(我可能是錯的)。我瞭解到我們可以在Objective-C代碼中編寫C函數,但我不確定這個類的概念。Objective-c - 類關鍵字
由於我是新來的Objective-C所以這將是巨大的,如果有人請參閱我一些教程或書籍,我可以學習。
類(大寫C)是一個Objective-C運行時類型,代表一個類,而不是一個類的實例。
的文檔並沒有真正提供多少:
代表的Objective-C類的不透明類型。
typedef struct objc_class *Class;
宣佈
objc.h
其最常見的用法可能是檢查類的實例。
if ([value isKindOfClass: [NSDictionary class]) {
// value is a dictionary
}
你可以這樣寫:
Class dictionaryClass = [NSDictionary class];
if ([value isKindOfClass: dictionaryClass) {
// value is a dictionary
}
謝謝!我想知道是否有一種方法可以在沒有Class(Struct)的情況下編寫相同的代碼。這是一種令人困惑的「Class c = NSClassFromString(r);」。 。讓我閱讀更多關於這個瞭解這個文件。 – Anandh 2012-08-17 16:24:33
在這裏找到一些信息http://macdevcenter.com/pub/a/mac/2002/05/24/runtime_partone.html – Anandh 2012-08-17 16:44:54
我建議一些注意這裏:很多運行時的細節已經從2002年更改爲總體主題,你找到的文件將有所幫助。但是,在任何特定的細節,也可能是錯誤的(有時是可怕的錯誤)。 https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtVersionsPlatforms.html#//apple_ref/doc/uid/TP40008048-CH106 – 2012-08-17 16:58:02