我有以下类,我使用函数匹配来搜索SongTitle
和ESongTitle
中的字符串。
class KeerthanaiArray: NSObject {
var SongTitle: String = String()
var SongLyrics: String = String()
var ESongTitle: String = String()
init(SongTitle: String, SongLyrics:String, ESongTitle: String) {
self.SongTitle = SongTitle
self.SongLyrics = SongLyrics
self.ESongTitle = ESongTitle
}
func match(string:String) -> Bool {
return SongTitle.containsString(string) || ESongTitle.containsString(string)
}
}
我无法在其类之外使用函数匹配,所以我尝试使用以下逻辑:
for keerthanaiArrayObject in keerthanaiArray {
let searchr = (keerthanaiArrayObject.match(searchText.lowercaseString))}
但是现在我无法在其for循环之外引用searchr
。请协助参考这些功能。
答案 0 :(得分:0)
您可以将searchr
更改为var吗?如同,在for循环外定义它,然后在for循环中重新分配它。
这样的事情:
var searchr: Bool?
for keerthanaiArrayObject in keerthanaiArray {
searchr = (keerthanaiArrayObject.match(searchText.lowercaseString))
}
此外,旁注:您的KeerthanaiArray的名称具有误导性。您的对象应该是单个项目,而不是数组。我建议您将名称更改为Keerthanai,然后当您需要Keerthanai对象列表时,可以将它们包装在一个数组中。
喜欢这个。
var keerthanaiArray = [keerthanaiObject1, keerthanaiObject2, keerthanaiObject3]