[英]Is iOS tutorial “Your Third iOS App: iCloud” out of date?
我正在關注Apple為iOS新手提供的三個教程。 前兩個似乎非常密切地遵循指南,從我收集到的,適合Objective-C的最新增強和推薦的編碼習慣,但第三個似乎沒有。
不確定鏈接是否有效: https : //developer.apple.com/library/ios/documentation/General/Conceptual/iCloud101
它明確告訴您為所有聲明的屬性調用@synthesize。 只要您不關心自定義支持變量的名稱,這不是不必要的嗎?
它告訴您進行方法的前向聲明。 這仍然是編譯器所需要的嗎? 何時不需要前方聲明?
它經常使用直接訪問的實例變量而不是使用屬性。 屬性不是數據存儲的首選方法嗎? 何時最好避免使用財產? 我猜他們這樣做是為了創建私有變量,也許。 本教程中沒有使用匿名類別,因此在編寫教程之后可能會出現這些類別。
我想還有更多。 我想確保我不會錯過這里的工具帶的一些潛在技術,以避免現代Objective-C中可能存在的壞習慣。 最后的細則顯示它在2013年4月更新,但也許他們沒有費心更新所有的代碼風格。
@synthesize
屬性 他們可能只是沒有更新代碼風格。 此外,Apple樣本代碼的風格通常非常多樣化。 關於具體問題:
現在這通常是不必要的 - 但在某些情況下,例如,當一個類符合協議中聲明的屬性時。
在同一個文件中,可以看到已實現但未在其他地方聲明的方法。 通常,只有在必須從類外部調用方法時才需要聲明頭中的方法。
我想,使用實例變量可能是一個品味問題。 在dealloc
和初始化程序中,通常建議在屬性實現中出現副作用時直接使用ivars。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.