在Swift 4中添加“收藏”并显示在收藏列表中,可以通过以下步骤实现:
以下是一个示例代码:
import UIKit
class FavoriteItem {
var title: String
var url: URL
init(title: String, url: URL) {
self.title = title
self.url = url
}
}
class FavoritesViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
var favoriteItems: [FavoriteItem] = []
override func viewDidLoad() {
super.viewDidLoad()
// 初始化收藏项数组
favoriteItems = []
// 设置UITableView的数据源和代理
tableView.dataSource = self
tableView.delegate = self
}
// 添加收藏项
func addFavoriteItem(title: String, url: URL) {
let favoriteItem = FavoriteItem(title: title, url: url)
favoriteItems.append(favoriteItem)
tableView.reloadData()
}
// 实现UITableViewDataSource的方法
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return favoriteItems.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "FavoriteCell", for: indexPath)
let favoriteItem = favoriteItems[indexPath.row]
cell.textLabel?.text = favoriteItem.title
return cell
}
// 实现UITableViewDelegate的方法(可选)
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
favoriteItems.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .fade)
}
}
}
这是一个简单的示例,你可以根据实际需求进行扩展和优化。在实际应用中,你可能还需要添加更多的功能,例如点击收藏项后打开对应的URL等。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云