簡體   English   中英

iOS教程“你的第三個iOS應用程序:iCloud”是否過時了?

[英]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

  1. 它明確告訴您為所有聲明的屬性調用@synthesize。 只要您不關心自定義支持變量的名稱,這不是不必要的嗎?

  2. 它告訴您進行方法的前向聲明。 這仍然是編譯器所需要的嗎? 何時不需要前方聲明?

  3. 它經常使用直接訪問的實例變量而不是使用屬性。 屬性不是數據存儲的首選方法嗎? 何時最好避免使用財產? 我猜他們這樣做是為了創建私有變量,也許。 本教程中沒有使用匿名類別,因此在編寫教程之后可能會出現這些類別。

我想還有更多。 我想確保我不會錯過這里的工具帶的一些潛在技術,以避免現代Objective-C中可能存在的壞習慣。 最后的細則顯示它在2013年4月更新,但也許他們沒有費心更新所有的代碼風格。

  1. 您不再需要手動@synthesize屬性
  2. 不再需要實現文件中的前向聲明。
  3. 有些人喜歡ivars,有些人喜歡屬性,只是確保你一直使用它們。

他們可能只是沒有更新代碼風格。 此外,Apple樣本代碼的風格通常非常多樣化。 關於具體問題:

  1. 現在這通常是不必要的 - 但在某些情況下,例如,當一個類符合協議中聲明的屬性時。

  2. 在同一個文件中,可以看到已實現但未在其他地方聲明的方法。 通常,只有在必須從類外部調用方法時才需要聲明頭中的方法。

  3. 我想,使用實例變量可能是一個品味問題。 dealloc和初始化程序中,通常建議在屬性實現中出現副作用時直接使用ivars。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM