相关疑难解决方法(0)

如何内联编写Objective-C块?

我正在尝试使用objective-c块实现二进制搜索.我正在使用该功能indexOfObject:inSortedRange:options:usingComparator:.这是一个例子.

// A pile of data.
NSUInteger amount = 900000;
// A number to search for.
NSNumber* number = [NSNumber numberWithInt:724242];

// Create some array.
NSMutableArray* array = [NSMutableArray arrayWithCapacity:amount];
for (NSUInteger i = 0; i < amount; ++i) {;
    [array addObject:[NSNumber numberWithUnsignedInteger:i]];
}
NSTimeInterval start = [NSDate timeIntervalSinceReferenceDate];

// Run binary search.
int index1 = [array indexOfObject:number 
                    inSortedRange:NSMakeRange(0, [array count]) 
                          options:NSBinarySearchingFirstEqual 
                  usingComparator:^(id lhs, id rhs) {
                      if ([lhs intValue] < [rhs intValue]) {
                          return (NSComparisonResult)NSOrderedAscending;
                      } else …
Run Code Online (Sandbox Code Playgroud)

compare objective-c binary-search objective-c-blocks

7
推荐指数
1
解决办法
9709
查看次数