2013-03-14 101 views
0

我正在使用的應用程序的核心數據,基本上想知道是否有人有一個想法,這兩個過程的速度會更快...核心數據,循環VS搜索

我有一個表視圖,需要此刻匹配的核心數據與行中的條目,我把所有的核心數據類在數組中使用:

NSArray *classArray = (NSArray *)[currentUser myCDClasses]; 

for(myCDClasses *class in classArray) 
{ 
    if([class class_id] == theIDINeedToMatch) 
    { 
    myCDClasses *classForThisRow = class; 
    break; 
    } 
} 

我想知道什麼,如果它會根據ID更快,只是斷言搜索我需要檢索?

我通常認爲最大的項目,將不得不for循環將是約40

+0

快速枚舉總是一個不錯的主意,它比塊枚舉器更快(在字典塊的情況下會更快一些取決於數組的大小)。 – 2013-03-14 11:10:38

回答

0

我懷疑你會發現40項任何區別。對於大型數據集,使用謂詞可能會更快,因爲搜索是在SQLite級別上完成的,只有結果會加載到內存中,而「循環解決方案」要求您比較的所有對象都是「出錯的「並從商店文件中讀取。