在我的一個iPhone應用程序版本中,我無意中創建了一個變量,在上面的範圍中映射了一個變量。這是無意的,但是由於Objective-C顯然允許在if塊及其包含方法之間隱藏變量,因此編譯它。iPhone 2G和3G之間的內存分配
當我發出這段代碼時,使用iPhone 3G的人立即遇到了問題,但使用2G的人沒有任何明顯的問題。
有沒有人碰巧知道這兩個模型是否存在實際的操作系統差異? 2G有編譯時間,靜態內存分配,不知何故?
這是一個巨大的混亂點,因爲我只有一個2G開發設備,並且從來沒遇到過問題,即使理論上代碼不應該按預期工作。
現在,還有一些其他的區別在於,3G使用的是構建AdHoc構建版本,而2G使用的版本是針對版本的。
嗯,謝謝。我意識到操作系統本身是相同的,但這並不意味着底層內存架構完全一樣。這個問題是因爲在Shadowing的情況下發生了一個奇怪的事件(我知道這是一個錯誤,直到發佈才被捕獲)。我想知道如果我應該修改一個靜態分析器來尋找陰影或其他東西... – Sam 2009-06-10 17:49:48