爲了支持iCloud,我們鼓勵使用UIDocument
子類。如果我定義了一個新的子類,請將項目目標版本設置爲3.0,並在使用我的新子類之前測試iOS 5的使用情況,代碼是否可以在iOS 4上運行,或者在子類中進行鏈接是否可以實現向後兼容?IOS 5 UIDocument子類向後兼容?
4
A
回答
2
UIKit
可以弱鏈接,但如果您嘗試初始化UIDocument
或UIDocument
子類,結果將不確定。你需要這樣的東西:
if (NSStringFromClass(@"UIDocument"))
{
...
}
這將使它完全無用於您的目的。所以你的問題的答案是否定的,涉及UIDocument
的任何代碼都不會運行,但是你可以對這樣的代碼進行條件檢查。您最好找到另一種保存數據的方法。
0
它需要鏈接UIDocument才能理解子類化UIDocument的實際含義。例如,如果您擁有Foo類的Bar類,並且Foo具有方法'doBaz',則可以在Bar實例上調用'doBaz',但如果鏈接器不知道Foo,它不知道Bar可以doBaz。
雖然你也許可以做一個薄弱環節。當iOS 4推出時也有類似的情況,iAds在iOS 3中不可用,這是當時iPad上最好的。
+0
所以答案是否定的。 –
+0
這取決於UIDocument是否可以弱鏈接。由於它是UIKit的一部分,我認爲是的,不。 – wjl
相關問題
- 1. iOS 4和iOS 5向後兼容性
- 2. Silverlight 5向後兼容性
- 3. IOS SDK向後兼容
- 4. ios5向後兼容
- 5. Xcode向後兼容
- 6. JBoss 5向後兼容Java 6
- 7. iOS靜態庫的向後兼容性
- 8. 我應該讓iPhone應用程序向後兼容iOS 5嗎?
- 9. Janrain和IOS 5兼容性
- 10. NSCoder + Uidocument:它們是否兼容?
- 11. iOS向後兼容性 - 不存在類的alloc/init
- 12. iOS 4通常向後兼容?
- 13. iOS 6 API和向後兼容性
- 14. UISplitViewController iOS 7向後兼容性
- 15. UIRefreshControl向後兼容性
- 16. 旋轉的iOS 6兼容的iOS 5
- 17. facebook sdk 3.1-ios與ios 5.1 -5兼容?
- 18. 向後兼容Android
- 19. 向後兼容BackupAgent
- 20. Office.Interop向後兼容?
- 21. iOS6向後兼容
- 22. MSVCRT向後兼容?
- 23. 向後兼容setOnDateSetListener
- 24. Xcode 5:約64位體系結構和向後兼容性
- 25. 蘋果目前的Reachability類是否與iOS 3.1向後兼容?
- 26. 關於iOS 5中UIDocument的澄清
- 27. GCC向後兼容性
- 28. Netlogo過渡,向後兼容
- 29. NSLineBreakMode enum和向後兼容性
- 30. 使用的是iOS 5功能,而不會破壞向後兼容性
感謝您的回答。我不想在iOS4上使用UIDocument,只是不確定是否可以定義iOS5子類而不會使整個程序無法在以前的版本上啓動。我對你有幫助的答案的理解是,只要我確信UIKit是弱鏈接的(+在實際使用之前檢查版本或類的存在),它應該可以,因此,這似乎是在一個實施iCloud功能的正確通用解決方案向後兼容的方式。 – wordy
然後請標記答案是正確的。 'c:' –
完成。實際上,只要您設置了正確的Xcode目標(例如OS 3.1),默認鏈接設置就可以正常工作(新代碼可以弱連接)。已經證實了這一點,但要小心手動的弱鏈接libSystem.dylib或用最新的XCode構建的代碼將在OS 3.x上崩潰(因爲「塊」) – wordy