應(yīng)用程序的數(shù)據(jù)模型由數(shù)據(jù)結(jié)構(gòu)和(可選)自定業(yè)務(wù)邏輯組成;自定業(yè)務(wù)邏輯是讓數(shù)據(jù)保持一致狀態(tài)所必要的。在設(shè)計數(shù)據(jù)模型時,不應(yīng)完全忽略應(yīng)用程序的用戶界面。但是,您肯定會想單獨實現(xiàn)數(shù)據(jù)模型對象,而不依賴于特定的視圖或視圖控制器是否存在。保持數(shù)據(jù)與用戶界面分開,有助于通用應(yīng)用程序(可在 iPad 和 iPhone 雙平臺上運行的應(yīng)用程序)的實現(xiàn),也讓代碼復(fù)用變得更容易。
如果需要儲存的數(shù)據(jù)很小,那么 Foundation 框架類可能是您的最佳選擇。您可以搜索現(xiàn)有的 Foundation 類,查看您可以使用哪些行為,而無需自己嘗試實施同樣的事情。例如,如果應(yīng)用程序只需要跟蹤字符串列表,則可以依賴 NSArray 和 NSString 來替您操作。在處理 Foundation中,您可以了解有關(guān)這些以及其他 Foundation 類的更多信息。
如果數(shù)據(jù)模型不僅要儲存數(shù)據(jù),還要求自定業(yè)務(wù)邏輯,那么您可以編寫一個自定類。您應(yīng)考慮如何將現(xiàn)有框架類合并到您自己的類的實現(xiàn)中。在自定類中使用現(xiàn)有框架類,往往比重寫更省時省力。例如,自定類可能使用 NSMutableArray 來儲存信息,但是會定義其自己的功能來處理該信息。
以下是設(shè)計數(shù)據(jù)模型時需要注意的一些問題:
您需要儲存哪種類型的數(shù)據(jù)?您設(shè)計的數(shù)據(jù)模型應(yīng)當(dāng)能恰當(dāng)?shù)靥幚硖囟愋偷膬?nèi)容,不管是儲存文本、文稿、大圖像,還是其他類型的信息。
您可以使用哪種數(shù)據(jù)結(jié)構(gòu)?決定了什么地方應(yīng)該使用框架類,什么地方需要定義具有自定功能的類。
您如何將數(shù)據(jù)提供給用戶界面?您的模型不應(yīng)該直接與界面通信。如果要處理模型與界面之間的互動,需要為您的控制器添加邏輯。
您需要了解更多有關(guān) Objective-C 及其功能的信息,才能編寫出優(yōu)秀且高效的代碼。雖然本指南描述了如何構(gòu)建簡單的應(yīng)用程序,但在您自行編寫具備完整功能的應(yīng)用程序前,還需要更加熟悉該語言。
學(xué)習(xí) Objective-C 的好方法有很多種。有的人通過閱讀《Programming with Objective-C》(使用 Objective-C 編程)來了解其概念,然后編寫一些小的測試應(yīng)用程序來鞏固對該語言的理解,并練習(xí)編寫更好的代碼。
有的人則直接跳到編程階段,并在無法完成某些操作時,再去查找更多信息。如果您更喜歡這種方式,請將《Programming with Objective-C》(使用 Objective-C 編程)留作參考,當(dāng)作了解各種概念的練習(xí)資料,并在開發(fā)時應(yīng)用到應(yīng)用程序中。
開發(fā)您的首個數(shù)據(jù)模型時,最重要的目標(biāo)是使它能正常運作。仔細思考數(shù)據(jù)模型的結(jié)構(gòu),而不要急于將其完美化。開始實現(xiàn)它之后,則要勇于反復(fù)重做和改進您的模型。
更多建議: