0
我有一个结构从结构(SWIFT)
struct FavoriteSong {
var title: String
var artist: String
init(title : String, artist : String) {
self.title = title
self.artist = artist
}
init?(dictionary : [String:String]) {
guard let title = dictionary["title"],
let artist = dictionary["artist"] else { return nil }
self.init(title: title, artist: artist)
}
var propertyListRepresentation : [String:String] {
return ["title" : title, "artist" : artist]
}
}
var favoriteSongs: [FavoriteSong] = [
];
通过按下一个UIButton
删除项目,对象添加到结构
favoriteSongs.append(FavoriteSong(title: songs[thisSong].title, artist: songs[thisSong].artist))
但是,我想另一个UIButton
去除对象来自结构。类似这样的:
favoriteSongs.remove(FavoriteSong(title: songs[thisSong].title, artist: songs[thisSong].artist))
我正在使用UITableView
来显示信息。我将如何做到这一点?
删除哪个元素?你没有提到应用程序扩展时它将如何工作。你为一个结构解释了它的例子,但是你想要移除哪个元素。你有这些集合视图或tableview吗?添加更多细节! –
正如你将喜欢的歌曲存储在一个'Array'中。所以你必须记住存储歌曲的'index',然后你可以通过索引来删除它。其他选项是通过'title'将它存储在'Dictionary'中,然后你可以通过'title'键删除fvrt歌曲。 –
你可以使'FavoriteSong'符合'Equatable'协议,然后遍历数组以找到使用== ==操作符的歌曲的潜在索引,如果找到了,将它从数组中移除。 – Sajjon