2011-07-28 28 views
0

我解析數據從遠程數據庫到iPhone應用程序和填充表視圖。該程序能夠填充表視圖罰款,但它的所有記錄。爲了對記錄進行排序,我建議使用NSPredicate對數據進行排序(這是有效的),但是當它嘗試加載數據時,程序在控制檯中不存在警告。我不明白爲什麼,有人可以快速瀏覽代碼並告訴我哪裏出錯了? (我認爲它與這些行return [rows count];NSDictionary *dict = [rows objectAtIndex: indexPath.row];有關)。感謝您對此的任何幫助...iPhone的UITableView的填充 - 程序退出沒有警告

回答

1

在您的viewDidLoad中,保留該數組並嘗試。

rows = [[courses filteredArrayUsingPredicate:predicate] retain]; 
+0

它的工作原理:o,你能向我解釋爲什麼它與保留部分一起工作嗎? –

+0

filteredArrayUsingPredicate返回一個autorelease對象。每個事件都包含在一個自動釋放池中,因此如果不用增加留言信息增加保留計數,則釋放該對象。請記住在您的dealloc方法中釋放該對象。充分利用您在產品菜單中找到的分析工具。 – andreamazz

1

您應該保留rows數組,因爲filteredArrayUsingPredicate應該返回一個autorelease對象。

+1

例如:self.rows = [courses filteredArrayUsingPredicate:predicate]; – Peres