2016-05-29 152 views
0

我有一個iOS應用程序,我想讓人們在桌面單元上滑動以將該單元格添加到收藏夾頁面tableview。添加單元格到核心數據的收藏夾tableview

它必須使用核心數據,以便在應用程序退出後保存收藏夾。

任何幫助,將不勝感激!

這是我迄今爲止的細胞刷卡動作:

override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? { 

    let favorite = UITableViewRowAction(style: .Normal, title: "Favorite") { (action, indexPath) in 
     // share item at indexPath 
     self.editing = false 
     print("Favorited \(indexPath.row)") 


    } 

    favorite.backgroundColor = UIColor.greenColor() 

    return [favorite] 
} 

這是我的最愛頁面代碼。

var favorites : [String] = [] 

override func viewDidLoad() { 
    super.viewDidLoad() 
    favorites = vars.favs 
    self.tableView.reloadData() 
} 



override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return favorites.count 
} 

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) 
    let object = favorites[indexPath.row] 
    cell.textLabel!.text = object 
    return cell 
} 

這是奪冠熱門將如何添加圖片: Current Progress

+0

能否請你告訴我們,你已經完成的工作是什麼? – penatheboss

+0

目前爲止,我只有細胞的滑動動作設置。 – Jacksmackod

+1

如果您有表格視圖,則必須具有一些用於表格視圖的功能。向我們展示 – penatheboss

回答

2

如果收藏夾列表作爲字符串是所有你需要在你的應用程序堅持,你也許可以簡單地使用NSUserDefaults而不是核心數據。

要保存的收藏夾數組:

let favorite = UITableViewRowAction(style: .Normal, title: "Favorite") { (action, indexPath) in 
    var favorites : [String] = [] 
    let defaults = NSUserDefaults.standardUserDefaults() 
    if let favoritesDefaults : AnyObject? = defaults.objectForKey("favorites") { 
     favorites = favoritesDefaults! as [String] 
    } 

    favorites.append(tableView.cellForRowAtIndexPath(indexPath).textLabel!.text) 
    defaults.setObject(favorites, forKey: "favorites") 
    defaults.synchronize() 
} 

要閱讀的收藏夾陣列中您的收藏夾頁:

var favorites : [String] = [] 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let defaults = NSUserDefaults.standardUserDefaults() 
    if let favoritesDefaults : AnyObject? = defaults.objectForKey("favorites") { 
     favorites = favoritesDefaults! as [String] 
    } 

    self.tableView.reloadData() 
} 
+0

這也會傳輸圖片嗎? – Jacksmackod

+0

@Jacksmackod您可以保存圖片的路徑,該圖片將存儲在磁盤上的其他位置。儘管有核心數據,但不建議直接在其中保存圖像。請參閱http://stackoverflow.com/a/30672362/1420793。 我首先想到的是,你只需要保存一個ID或類似的東西來引用被收藏的單元格的內容。你的單元格是否只有一個圖像或更復雜的數據結構?如果它只是一個圖像,上面的方法仍然可以工作。如果你想要保存更多的數據,那麼核心數據的確是更好的選擇。 –

+0

我想讓單元格保留文字圖片及其動作(更改視圖) – Jacksmackod

相關問題