我收到了错误:
int不能转换为NSRange
on var range:NSrange = 0
:
let predicate = NSPredicate(block: { (city: AnyObject!, b: [NSObject : AnyObject]!) -> Bool in
var range:NSRange = 0; //convert error happens here on 0
if city is NSString {
range = city.rangeOfString(searchBarText, options: NSStringCompareOptions.CaseInsensitiveSearch)
}
return range.location != NSNotFound
})
关于如何解决这个问题的任何想法?
答案 0 :(得分:3)
你的init声明错了。 NSRange
是一个location
和range
值的结构。将其更改为:
var range = NSMakeRange(NSNotFound, 0)
答案 1 :(得分:1)
NSRange
是struct
,成员location
和length
,而不是Int
使用初始化程序
var range: NSRange = NSRange(location:0, length:0)
或便利功能
var range: NSRange = NSMakeRange(0, 0)