2014-11-07 209 views
1

在我的Xcode項目中,我爲ios7和ios8.添加了相同的框架,我將它們重命名爲xxx-ios7.framework和xxx-ios8.framework。 我想使用objc_getClass(「someclass」)來獲得運行時類。但是這兩個框架具有相同的類。 我怎麼知道我會得到哪個班級?關於objc_getClass的困惑

+1

在單個應用程序中有兩個具有相同名稱的不同類是不好的。你有時可以逃避,但是當你不懷疑它時,它會讓你陷入$ $$。 – 2014-11-07 02:15:31

回答

1

雖然這可能不是一個好的答案,但您可能想要使用Microsoft在其MFC類中定義版本號的相同機制。

從本質上講,你將有一個方法,或方法,如:

- (NSString*)classVersionAsString; 
- (NSInterger)classVersionAsNumber; 

這將返回有意義的版本信息爲您服務。

正如上面註釋中指出的那樣,您應該小心使用多個具有相同類名的框架,因爲加載器將選擇與從屬模塊或從屬應用程序匹配鏈接器要求的第一個類。當模塊被加載時,你得到的類可能不是你所期望的。