班級書是我正在努力的。目標是將檢查塊變爲true。查找具有相同標題和返回類元素的元素
我嘗試比較liste-array中每本書的標題和我正在搜索的標題。如果發現該函數應該輸出book-element,如果沒有,則返回nil。
這是我目前有:
class Book {
var title:String;
var isbn:String;
var price:Float;
public init(_ title:String, _ isbn:String, _ price:Float) {
self.title=title;
self.isbn=isbn;
self.price=price;
}
}
//findBookWithTitle should output the first element with the same title.
func findBookWithTitle(_ title:String, inListe liste:[Book]) -> Book? {
var data=liste;
var stitle=title;
var memory:Int=0;
for i in 0..<data.count{
if data[i].title==stitle{
memory=i;
}else{
return nil;
}
}
return data[memory]
}
//exam block
let daten=[Book("Book A","ISBN A",12),Book("Buch B","ISBN B",14),Book("Book C","ISBN C",17)];
let a1a = findBookWithTitle("Book C", inListe: daten) === daten[2];
let a1b = findBookWithTitle("Book A", inListe: daten) === daten[0];
let a1c = findBookWithTitle("Testbook", inListe: daten) === nil;
let a1 = a1a && a1b && a1c;
我不具有任何錯誤,不知道從哪裏開始解決這個問題。
這簡直就是'如果let book = liste.first(其中:{$ 0.title == title}){return book} return nil' –
或者只是'return liste.first(其中:{$ 0.title = = title})':) – Hamish
不相關,但請注意,您不需要用分號結束每個語句。 – Hamish