我有一個名爲array
的對象數組,其類型爲votes
。在數組的對象中有一個叫做nameSubject
的字段,它是一個字符串。 我怎樣才能傳遞我的數組和字符串,我想比較主題的名稱?這是我的函數:二進制搜索:錯誤傳遞數組
static func binarySearch(inputArr: [votes], searchItem: String)->Int?{
var lowerIndex = 0;
var upperIndex = inputArr.count - 1
while (true) {
var currentIndex = (lowerIndex + upperIndex)/2
if(inputArr[currentIndex] == searchItem) {
return currentIndex
} else if (lowerIndex > upperIndex) {
return nil
} else {
if (inputArr[currentIndex] > searchItem) {
upperIndex = currentIndex - 1
} else {
lowerIndex = currentIndex + 1
}
}
}
}
的錯誤是在第一和第二if
和這樣說:二元運算符「==」不能應用於類型的操作數「票」和「串」」
你想在第二個else語句中做什麼? –
如果你經常這樣做,你最好把'nameSubject'字典映射到'votes'對象 – Alexander
另外,Swift的約定是擁有UpperCamelCase,單數命名類型,比如'Vote' – Alexander