一個火力地堡數據庫創建一個過濾的實現代碼如下的最佳方式我有一個顯示歌曲的標題的實現代碼如下,從包含以下結構的火力地堡數據庫拉:請告訴我使用斯威夫特
{
"songs" : {
"key1" : {
"lyrics" : "...",
"title" : "...",
"video" : "..."
}
}
}
如果我添加該火力點數據的一類叫做宋話,我想我可以做到這一點:
var songs = [Song]()
var filteredSongs = [Song]()
let lower = searchBar.text!.lowercaseString
filteredSongs = songs.filter({$0.title.rangeOfString(lower) != nil})
但是,我沒有做成功,繼這解決了這個問題之後的例子:convert FIRDataSnapshot to custom type
class Song: NSObject {
var title: String
var lyrics: String
var videoUrl: String
let ref: FIRDatabaseReference?
init(title: String, lyrics: String, videoUrl: String) {
self.title = title
self.lyrics = lyrics
self.videoUrl = videoUrl
self.ref = nil
}
init(snapshot: FIRDataSnapshot) {
title = snapshot.value!["title"] as! String
lyrics = snapshot.value!["lyrics"] as! String
videoUrl = snapshot.value!["video"] as! String
ref = snapshot.ref
}
convenience override init() {
self.init(title: "", lyrics: "", videoUrl: "")
}
}
有沒有添加過濾器而不創建類的方法?
將'filter'應用於'songs'數組後,是否有任何錯誤? – triandicAnt
在哪裏以及如何聲明'lower' var?和你分享'Song'課程。 – Igor
@Igor我剛更新了這個問題,添加了'lower' –