2010-12-09 60 views
0

我想了解塊中的string1/string2如何從此代碼段中的stringsArray饋送輸入值。我沒有看到這些值指向strngsArray的地方。這裏是代碼 -iphone - 塊輸入變量問題

NSArray *stringsArray = [NSArray arrayWithObjects: 
           @"string 1", 
           @"String 21", 
           @"string 12", 
           @"String 11", 
           @"String 02", nil]; 

static NSStringCompareOptions comparisonOptions = NSCaseInsensitiveSearch | NSNumericSearch | 
     NSWidthInsensitiveSearch | NSForcedOrderingSearch; 
NSLocale *currentLocale = [NSLocale currentLocale]; 

NSComparator finderSortBlock = ^(id string1, id string2) { 

    NSRange string1Range = NSMakeRange(0, [string1 length]); 
    return [string1 compare:string2 options:comparisonOptions range:string1Range locale:currentLocale]; 
}; 

NSArray *finderSortArray = [stringsArray sortedArrayUsingComparator:finderSortBlock]; 
NSLog(@"finderSortArray: %@", finderSortArray); 



/* 
Output: 
finderSortArray: (
    "string 1", 
    "String 02", 
    "String 11", 
    "string 12", 
    "String 21" 
) 
*/ 

回答

0

該數組將會一個接一個地將包含的對象反饋到該塊以確定順序。

+0

stringsArray正在饋入此行 - NSArray * finderSortArray = [stringsArray sortedArrayUsingComparator:finderSortBlock]; – IphoneDev 2010-12-09 21:14:17