對應用程序有想法,但缺乏開始創建應用程序的編程知識?這個每週的博客系列將引導您完成為 iPhone、iPod touch 和 iPad(不是程序員)創建應用程序的過程。加入我的每週冒險,您將體驗將想法變為現實的樂趣!這是該系列的第 22 部分。如果您剛剛開始,請在此處查看本系列的開頭。 ((((這篇文章已經更新到 Swift 1.2、Xcode 6.4、iOS 8)。
在本系列的最後幾篇文章中,您學習了很多關於如何使用 Core Data 從數據庫中檢索實體並以表格格式顯示結果的知識。現在它具有所有其他功能 我寫評論 場景 iApps 評論是時候學習如何保存了 審查實體 使用核心數據!
要完成本文中的步驟,您可以使用: iApps 評論 迄今為止創建的項目。如果您需要此項目的新副本,可以從以下 URL 下載: 這個鏈接..
保存實體
如前所述,將實體存儲在數據庫中很容易——尤其是 mmBusinessController 包裝類。讓我們仔細看看這個類,仔細看看實體是如何存儲的。
- 打開 iApps 評論 Xcode 中的項目。
- 轉到項目導航器並展開 業務層 分組並單擊 mmBusinessObject.swift 在代碼編輯器中打開文件。
- 讓我們來了解一下 保存實體 方法。如果您有一個包含許多方法的大型代碼文件,最簡單的方法是使用代碼編輯器頂部的跳轉欄。單擊跳轉欄的最後一部分,如圖1所示。
圖 1-單擊跳轉欄的最後一部分。 |
- 在點擊跳轉欄時出現的彈出列表中, 保存實體 如圖 2 所示。
![]() |
圖2-跳轉欄彈出列表 |
在彈出列表中選擇此方法將帶您到該方法在代碼文件中的位置,如圖 3 所示。
![]() |
圖 3- 保存實體 方法 |
讓我們仔細看看這段代碼。第一行代碼聲明了一些局部變量。下一行代碼獲取對業務控制器對像上下文的引用。正如我們在上一篇文章中了解到的,對像上下文跟踪從數據庫中檢索到的所有實體和新創建的實體。您可以跟踪對這些實體所做的所有更改,並將對實體所做的所有更改保存在您的 iOS 設備上的數據庫中。
下面的代碼行如圖 4 所示。
![]() |
圖 4-傳遞給對像上下文以保存實體的主消息 |
這段代碼首先被調用 改變 對像上下文方法。如果此方法返回 不正確保存被中止(在 Swift 中, && 如果左邊的條件為假,則操作員不會評估右邊的條件。 )。
如果 改變 方法是 真的,是的 保持: 在對像上下文中調用方法。這會導致對像上下文保存對實體對象的所有新的和已編輯的更改。
順便說一句,您可能想知道與符號 (&) 在……面前 錯誤 範圍。通常,在 Swift 中,參數的值被傳遞給方法。但是,如果您在參數前加上 & 符號,則會傳遞指向該參數的指針。因為就這樣過去了 保持: 該方法可以更改的值 錯誤 您可以使用參數和新值調用該方法。
如果該方法返回 false,則執行用大括號括起來的第一組代碼。錯誤信息保存在 保存狀態 什麼時候 保存消息 變量及其值返回給調用者。希望一切 保持: 方法是 真的該方法設置的值 保存狀態 什麼時候 保存消息 表示一個變量,成功完成,保存,並將那些值返回給調用者。
創建一個新實體
裡面 我寫評論 場景 iApps 評論 當用戶單擊時,應用程序應執行以下步驟 郵政 按鈕:
- 創建一個新的 審查實體 目的。
- 從 UI 控件中獲取值 2 並將其保存到 審查實體 目的。
- 保持 審查實體 目的。
- 在網絡上發表評論(本系列稍後會詳細介紹)。
這個 mm 業務對象 班上有一個 創建實體 可用於創建新方法 審查實體 目的。讓我們來看看這個方法的幕後花絮。
在代碼編輯器中點擊跳轉欄最右邊的一段,然後點擊 創建實體 從列表中(圖 5)。
![]() |
圖 5-選擇 創建實體 方法。 |
你現在應該看到 創建實體 方法代碼如圖 6 所示(為了便於閱讀,代碼被分成三行)。
![]() |
圖 6- 創建實體 方法代碼 |
這個方法的代碼是 insertNewObjectForEntityForName:inManagedObjectContext: 以上方法 NSEntityDescription 班級。此方法接受兩個參數。 第一個是實體類的名稱(僅從業務控制器對像中獲取)和對對像上下文的引用(也從業務控制器中獲取)。對像類型 噸 當你從這個方法返回時,它只是 創建實體 方法。在此代碼示例中, 噸 更具體類型的實體對象的通用佔位符。本系列稍後將更詳細地討論泛型。
在面向對象的術語中,它被稱為工廠方法,因為它創建或創建對象。
此方法的代碼是標準樣板核心數據代碼。我想對這個事實印象深刻,所以我知道什麼時候使用它 mm 業務對象 該類實際上使用標準的核心數據代碼。
實現新保存的代碼
現在您已經了解瞭如何創建和保存實體的基礎知識,是時候繼續前進了。 iApps 評論 商業。
- 在項目導航器中,[[WriteReviewViewController.swift 在代碼編輯器中查看文件。
- 使用代碼編輯器中的跳轉欄選擇 發表評論: 方法。
- 你應該看到 發表評論: 方法代碼如圖 7 所示。
![]() |
圖 7– 發表評論: 方法代碼 |
我發現我實現了所需的代碼。我在上一篇文章中調整了這段代碼,但我沒有仔細研究過。
第一行代碼是新的 審查實體 目的。接下來的幾行代碼從各種UI控件中獲取值並存儲在 審查實體 目的。下一個, 保存實體 該方法被稱為 審查 在數據庫中存儲新實體的業務控制器。最後一個 popViewController 動畫: 在導航控制器中調用方法將使應用程序返回主程序 iApps 評論 場景。
測試代碼
現在是時候為測試驅動器放置代碼了。
- 在 Xcode 中,單擊 跑 按鈕。
- 當應用程序出現在模擬器中時,單擊 我寫評論 選項。
- 裡面 我寫評論 場景,選擇一個 應用類別 評估並輸入 應用名稱, 和評論。當你這樣做時, 郵政 該按鈕被激活,如圖 8 中的示例所示。請記住,您可以通過單擊場景的背景來隱藏鍵盤。
![]() |
圖 8– 郵政 該按鈕已啟用。 |
- 點擊 郵政 按鈕。代碼 發表評論: 執行該方法的事實,應用程序轉到主 iApps 評論 場景。
那麼如何知道評論是否存儲在數據庫中呢?
你的家庭作業
我在這個博客系列中的目標是教您如何創建自己的應用程序。對你能力的真正考驗是在沒有訓練階段的情況下編寫一些代碼。考慮到這一點,我會為你做功課。
這個 我的評論 場景 iApps 評論 它旨在在 iOS 設備上顯示保存的評論。目前這個場景還是一個原型,展示的是靜態評論信息。你的工作是轉變 我的評論 從數據庫中獲取評論並將其轉換為功能齊全的場景以顯示在表格視圖中。本文介紹了有關在表格視圖中獲取和顯示實體所需了解的所有內容。
結束後 我的評論 我要你繼續這個場景 審查 場景。當你在 我的評論 查看表視圖並查看詳細信息。你需要通過它才能工作 審查實體 對象來自 我的評論 到現場 審查 場景。這篇文章描述了你需要知道的關於在視圖控制器之間傳遞數據的一切。
您還可以查看代碼 WriteReviewViewController 什麼時候 AppCategoryViewController 用於執行這些任務的提示代碼文件。
結論是
下一篇文章將為本文的作業提供一個解決方案。自己解決這些問題將幫助您學習 iOS 編程的這些基礎知識,並向您展示您真正了解的內容以及您需要更多幫助的地方。快樂編碼!
>> >>
熱門圖片來源:Alexey Boldin / Shutterstock.com