我是iOS開發新手,正在嘗試在RestKit中進行一些自定義值轉換,但我無法弄清楚如何去做。我有兩個當前的問題:RestKit .20.x值轉換
我有一個base64編碼的圖像,從服務器返回一個JSON消息。它的格式如下。我使用Core Data作爲後端持久性存儲,'image'字段作爲二進制數據(NSData)存儲在Core Data中。當RestKit將base64編碼圖像轉換爲NSData對象時,出現問題,因爲存儲在sqllite數據庫中的圖像字節不正確,我無法重新顯示圖像。
"images": [{ "id": 1, "recordId": 1, "status": "C", "type": "MUGSHOT", "format": "JPEG", "width": 50, "height": 50, "image": "/9j/4AAQSkZJRgABAQEBLAEsAA....", "createBy": "blah", "createDt": 1395683191483, "captureDevice": null }]
- createBy日期是ms以來的紀元,它沒有被正確地轉換成NSDate對象。我明白,它期望價值在幾秒鐘內,我認爲是什麼導致了問題。
多的谷歌搜索後,我發現RKValueTransformer將允許我設立不同類別的自定義轉換(在我的情況,我想設立的NSDate和NSData的類別定製的變壓器,但RKBlockValueTransformer這是「自定義值轉換」部分下此處引用(https://github.com/RestKit/RestKit/wiki/Object-Mapping)類不出現我存在我使用RestKit .20.3和使用的CocoaPods與此Podfile安裝它。
platform :ios, '7.0'
pod 'RestKit', '~> 0.20.3'
我試着在我的Podfile中添加pod'RKValueTransformers','〜> 1.0.0',但是這導致了一些編譯器問題。另外,不是RKValueTransformers project只是已經內置到RestKit中的值轉換功能的提取?
我在正確的道路上使用RKValueTransformer獲取NSDate和NSData行爲,我正在尋找?如果是這樣,我需要做些什麼才能將其包含在我的項目中?有沒有更簡單的方法讓我的應用程序正確處理存儲在Core Data中的base64編碼圖像作爲二進制字段?
編輯:這是我在我的Pods項目中的RKValueTransformers.h和.m文件。它似乎只與日期格式化程序相關:
您是否在嘗試從存儲的'NSData'中創建圖像時出錯? – RaffAl
沒有錯誤,但是當我將NSData傳遞到[UIImage imageWithData:]時,返回的UIImage是零。 – Dan