2012-07-19 69 views
1

我正在爲一個簡單的待辦事項列表應用程序的iPhone後端軌道。如何將UITableView單元映射到遠程數據庫後端?

到目前爲止,我可以從Web應用程序中將所有tasks拖入待辦事項列表中,解析JSON並將其插入到UITableView中。

從軌道JSON響應:

[ 
    {"id":1,"name":"Buy bread"}, 
    {"id":8,"name":"Get gas"}, 
    {"id":14,"name":"Call John"} 
] 

在UITableView中,每個任務的行,單元格的爲textLabel是任務的名稱:

enter image description here

問題我現在正在如何將單元格與任務的記錄標識關聯起來。

兩個任務可以具有相同的名稱,所以我不能只根據名稱從哈希中獲取id。

我需要記錄ID,所以我可以在用戶編輯UItableView(例如刪除任務)之後回發給Rails應用程序。

我可以在單元格上設置屬性嗎?我覺得我失去了一些明顯的東西。這是我的第一個iPhone應用程序,所以請溫和,呵呵。

回答

2

如何獲取JSON數組到表中使用的Objective-C數組?您必須再次爲該任務的ID執行此操作,並在您的- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath方法中使用類似theID = [idArray objectAtIndex:indexPath.row];

1

更好的解決方案是在客戶端上維護適當的數據模型。你可以使用JSON作爲你的模型,但核心數據更健壯一點。你想要的是讓你的控制器把它對視圖的瞭解與它對模型的瞭解聯繫起來。例如,如果您使用didSelectRowAtIndexPath:您希望使用此索引路徑映射到您的模型。

您在單元格上設置屬性的解決方案允許您的視圖的客戶端查詢您的數據模型違反了MVC範例的規則。它將你的觀點與你的模型相結合,這並不是很好。

相關問題