사람들이 tableview 셀을 스 와이프하여 즐겨 찾기 페이지 tableview에 해당 셀을 추가하도록하고 싶은 iOS 앱이 있습니다.
앱 종료 후 즐겨 찾기가 저장되도록 핵심 데이터를 사용해야합니다.
어떤 도움을 주시면 감사하겠습니다!
이것이 지금까지 셀 스 와이프 동작에 대해 가지고있는 것입니다.
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
}
문자열로 즐겨 찾기 목록 만 있으면 앱에서 유지하기 위해 Core Data 대신 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()
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다