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
にあり、この言う:バイナリ演算子「==」がタイプのオペランドの投票 'と「文字列」」
2番目のelse文で何をしようとしていますか? –
これを頻繁にやっているのであれば、辞書の 'nameSubject'を' votes'オブジェクトにマッピングするほうが良いでしょう。 – Alexander
Swiftのコンベンションでは、UpperCamelCaseという単数形の型があります。 – Alexander