如何在类之外使用函数

时间:2016-07-27 02:59:44

标签: arrays swift function class search

我有以下类,我使用函数匹配来搜索SongTitleESongTitle中的字符串。

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。请协助参考这些功能。

1 个答案:

答案 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]