我正在使用CFArrayBSearchValues
。
它成功运行但编译器在第一个参数上显示警告:
CFIndex indexResult = CFArrayBSearchValues(
m_Locations,
CFRangeMake(0, [m_Locations count]),
data,
PGPlaceDataCompare, nil);
CFArrayBSearch
期望第一个参数为CFArrayRef
我的m_Locations
是NSMutableArray
。
如何解决此警告?我需要对NSMutableArray进行任何强制转换为CFArrayRef吗?
感谢。
答案 0 :(得分:2)
是。只需将NSMutableArray强制转换为CFArrayRef。
CFIndex indexResult = CFArrayBSearchValues(
(CFArrayRef)m_Locations,
CFRangeMake(0, [m_Locations count]),
data,
PGPlaceDataCompare, NULL);
在iOS 4.0或更高版本中,您可以使用Objective-C method -indexOfObject:inSortedRange:options:usingComparator:
代替。
NSUInteger indexResult = [m_Locations
indexOfObject:data
inSortedRange:NSMakeRange(0, [m_Locations count])
options:0
usingComparator:^(id a, id b) { ... }];