如果我這樣做:分配到變量或返回它馬上不起作用
func myFunc() -> NSRange{
var range = s.rangeOfString(searchText, options: .CaseInsensitiveSearch)
return s.rangeOfString(searchText, options: .CaseInsensitiveSearch)
}
我得到的說,有一個在第二次調用額外的參數錯誤。但他們完全一樣!
在另一方面,這工作得很好:
func myFunc() -> NSRange{
var range = s.rangeOfString(searchText, options: .CaseInsensitiveSearch)
return range
}
我的問題是隱含的。所以這裏是:爲什麼swift編譯器不會滿足於第一個選項,而是它讓我把函數的返回值分配給一個變量?
是否適合你,這裏是我的全碼:
var a: [MyObject] = []
array = a.filter{
var b = ($0 as MyObject).molecule.name
var s: NSString = b as NSString
var range = s.rangeOfString(searchText, options: .CaseInsensitiveSearch)
return s.rangeOfString(searchText, options: .CaseInsensitiveSearch)
return range.location != -1
}
一個downvoted請考慮添加一個評論,所以我知道發生了什麼事情。 – 2014-09-12 18:20:08
請將您的代碼示例作爲文本發佈。您的代碼行高度爲5像素...如果有人想將代碼複製到遊樂場以測試解決方案,那麼他們無法從圖像中執行此操作。 – 2014-09-12 18:26:08
那裏,只是做到了。 – 2014-09-12 18:31:42