1

所以我試圖使用AFNetworking圖書館的REST服務項目,我想建立在我的2006年的Macbook上。 Macbook是第一代2006年的32位Core Duo w /雪豹。AFNetworking - 可以在32位體系結構中輕鬆使用這個64位庫嗎?

我是相當新的Objective-C的發展,我下面的教程開始使用AFNetworking這裏:https://github.com/AFNetworking/AFNetworking/wiki/Getting-Started-with-AFNetworking

使用的Xcode 4.2我的問題是,就當我創建一個新的項目,並嘗試並建立我得到:語義問題 - 合成屬性'窗口'必須命名爲相同的兼容伊娃或必須顯式名稱伊娃

我檢查了我的新項目的生成設置,出於某種原因,默認情況下xcode假定我的機器是32位的64位英特爾架構?奇怪的。我將它換成了32位,這是錯誤發生的地方。 Synthesizing a property without instance variables這似乎是很常見的(缺乏:

NSWindow * _window; 

我打造出來的32位objc瞭解這一點:

所以我可以通過在AppDelegate中顯式地創建我自己的窗口實例VAR現在解決這個語義問題伊娃爾宣言)在我看到的許多公共github項目代碼。現在每個人都強迫我們64位還是懶得創建實例變量? :(

所以我的問題是,它看起來像AFNetworking圖書館建了64位英特爾,因爲當我添加AFNetworking到項目中,我得到相同語義問題伊娃錯誤所有的地方,望着庫代碼沒有明確的實例變量在整個代碼中聲明任何屬性

我完全搞砸了嗎?我可以通過手動創建所有屬性的實例變量來解決這種情況,長期項目維護

我想我在這裏希望的是,有某種編譯器標誌th在我可以補充說,這將全部修復在一次?但我猜測我的運氣不好,現在只是時間來搗毀這本Macbook,並選擇一款新的現代版本。

回答

2

自動合成的實例變量需要「現代」Objective-C運行時,它只能在64位機器上使用。所以,不幸的是你是正確的,你不能只是設置一個編譯器標誌來解決這個問題。該解決方案確實爲要嘗試使用的類中的屬性添加實例變量聲明。

我不確定這是如此困難,以至於值得扔掉你的計算機......也就是說,現代運行時提供的便利對開發人員來說很誘人,而且你不可能看到很多新的繼續支持32位Mac的代碼。 Apple只在短時間內銷售32位Intel Mac,而Lion需要64位Mac,因此使用32位Mac的用戶比例已經很小,並且迅速變小。

相關問題