1
我有一個iPhone上的核心數據實體中的項目列表,他們都有一個item_id整數屬性。我需要返回表中最高編號的item_id和最低編號的item_id,其中一個獲取請求。我不知道這些數字可能是什麼,因爲他們不是從0開始上升。核心數據在一個fetchRequest中選擇第一個和最後一個記錄
完成此操作的最佳方法是什麼?再說一次,我知道我可以用2個單獨的獲取請求來做到這一點,有沒有辦法只用一個呢?
我有一個iPhone上的核心數據實體中的項目列表,他們都有一個item_id整數屬性。我需要返回表中最高編號的item_id和最低編號的item_id,其中一個獲取請求。我不知道這些數字可能是什麼,因爲他們不是從0開始上升。核心數據在一個fetchRequest中選擇第一個和最後一個記錄
完成此操作的最佳方法是什麼?再說一次,我知道我可以用2個單獨的獲取請求來做到這一點,有沒有辦法只用一個呢?
這只是一個棘手的問題,只有一個提取。我會使用MAX和MIN函數/表達式來執行兩次提取。例如
NSExpression *minExpression = [NSExpression expressionForFunction:@」min:」
arguments:[NSArray arrayWithObject:keyPathExpression]];
如果你絕對必須這樣做,在一個取動作,然後我只能想到做一個使用fetchall和排序的ID,然後獲得第一,並通過持續:
[objects objectAtIndex:0]
[objects lastObject]
更新1: 貌似這傢伙有一個解決方案: http://useyourloaf.com/blog/2012/1/19/core-data-queries-using-expressions.html
他的解決方案的關鍵是多個表達式: '[fetchRequest setPropertiesToFetch:[NSArray的arrayWithObjects:earliestExpressionDescription, latestExpressionDescription,nil]];' 非常有用,我不知道你可以自己做。 – elprl 2012-02-09 00:12:21
很棒! 感謝您的幫助 – 2012-02-09 18:37:04