我一直在爲此苦苦掙扎了好幾天,似乎無法弄清楚如何最好地構造這個。我絕不是目標C的專家。開發適用於REST API的iOS SDK
我們爲Drupal應用程序開發了一個RESTful API,並且我們目前在App Store中有一個使用ASIHTTPRequest連接的iOS應用程序。但是,正如你們中的一些人可能知道的那樣,它不再被支持。所以我們決定過渡到AFNetworking,並希望以這樣的方式構建它,以便我們可以將它作爲一個庫進行開源,以便與我們的API一起使用。
我們當前的應用程序正在使用CoreData並存儲所有進入SQLite數據庫的數據。在目前的工作流程看起來是這樣的:
Get請求 接收JSON 解析和地圖JSON到CoreData NSManagedObject 保存上下文
我有什麼路徑你們幾個問題,建議對我來說,開源作爲圖書館。
只給一個粗略的概述:
我們有會員,團體,事件,消息(在其最簡單的)。
有幾種方法我一直在想的要對此:
添加AFNetworking API調用和解析/映射方法的NSManagedObject
我喜歡這個概念,但我我不確定它是否合理。核心數據模式然後成爲API的模式,這很好。但我擔心的是 - 如果其他開發人員使用它不想在他們的應用程序中使用核心數據呢?最重要的是,我不確定如何使用返回多個實例的方法。例如,如果我有一個NSManagedObject組,我可以在哪裏調用獲取組的索引?此外,我們是否將某人鎖定到特定的核心數據模型中,這是件好事嗎?
有知道如何從一個API取回自己的數據,它的地方解析到自己的屬性,然後出了公共圖書館的做映射到NSManaged對象
這樣的聲音分離的對象不錯,但是我有非常相似的物體,它們的性質非常相似。
分類
我讀的東西在這裏,我可以用一個類來添加方法 add additional properties to NSManagedObject with secondary .h .m files 我不知道,即使是有道理的。
API類,核心數據類和映射器類。
絕對凌亂。
更好的建議歡迎!
我試着去看一些其他的例子,但我認爲我沒有足夠的Objective C知識來正確解剖它們。
的主要目標是:
摘要向被重複使用在其他應用程序的請求庫。 爲對象強制執行架構是一個加號 不要將人員鎖定到CoreData模型或根本不使用CoreData。
在此先感謝您的幫助!
嗨,詹姆斯,感謝您的迴應!我只想澄清幾件事:我已經有一個核心數據模式,所以我可以擴展NSManagedObjects以在API上強制執行模式。但是你建議分開API調用的類,解析數據並返回一些擴展NSObject的東西。是否有可能翻轉並擴展API調用類返回爲託管對象的內容?對不起,我可能在這裏錯過了很多要點。我讀了幾次,並不能特別理解。你不介意把它分解一點(對於n00b :) – MrMaksimize
圍繞這一點,我認爲它開始有意義。基本上,你說要創建幾個模型 - 組,消息,用戶等。然後有一個控制器/控制器,使api調用,解析器,並填充這些模型,然後返回它們。然後爲NSManagedObjects播種,並根據模型將這些對象的數據填充到它們中。是對的嗎? – MrMaksimize