实现一个最喜欢的按钮Swift

时间:2016-11-21 23:58:52

标签: ios iphone swift uitableview favorites

我想在Favorite button中实施detailVC

我有一个tableView,其中包含该地区的餐馆列表:

ResterauntTableViewController:

import UIKit

class ResterauntViewController: UITableViewController,UISearchResultsUpdating,UISearchBarDelegate,UISearchDisplayDelegate{

    @IBOutlet var tableViewController: UITableView!

    // MARK : Data

var names = ["Shalvata",
                 "Markid",
                 "Litzman Bar",
                 "The Cat & The Dog",
                 "Light house",
                 "Ku"]

它看起来像这样:

enter image description here

每个单元格都有DetailViewController和我想要创建的收藏button

我已经设置了button正在更改图片,如果我点击button,反之亦然:

  override func viewDidLoad() {
        super.viewDidLoad()

        //create a new button
        let Favoritebutton: UIButton = UIButton(type: UIButtonType.Custom)
        //set image for button
        Favoritebutton.setImage(UIImage(named: "EmptyHeart.png"), forState: UIControlState.Normal)
        Favoritebutton.setImage(UIImage(named: "FilledHeart.png"), forState: UIControlState.Selected)
        //add function for button
        Favoritebutton.addTarget(self, action: #selector(self.button(_:)), forControlEvents: .TouchUpInside)
        //set frame
        Favoritebutton.frame = CGRectMake(90, 90, 35, 35)

        let barButton = UIBarButtonItem(customView: Favoritebutton)
        //assign button to navigationbar
        self.navigationItem.rightBarButtonItem = barButton

    }

    @IBAction func button(sender: UIButton) {
        sender.selected = !sender.selected;
}
}

点击Favorite button后,我想显示项目愿望被点击并设置为收藏夹以显示在另一个标签中(我有一个标签栏项目)

当然,当我退出应用时,它会记住我的favorites

我设法自己做按钮,但我不知道如何创建最喜欢的功能,所以我想得到一些帮助。我找不到任何好的教程显示任何一个。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

你问的是一个非常广泛的问题...... 你需要某种持久性来保存like按钮动作。我建议使用SQLite或Core Data来存储它,然后您可以在FavoriteTab

上阅读它

这是一个非常好的教程SQLite Tutorial: Getting Started

这是关于User Defaults

的非常好的教程