0
即時通訊應用程序,其中顯示plist的隨機引號,並且可以將其保存爲收藏夾(核心數據),我想檢查我的隨機生成的報價是否已經存在於核心數據中或者不存在,我只是想改變保存按鈕,如果其已保存核心數據檢查是否已經保存,Swift
Quote.swift:
var quotesPlist: NSArray! = []
override func awakeFromNib() {
loadQuote()
}
func loadQuote(){
let path = NSBundle.mainBundle().pathForResource("quotesList", ofType: "plist")
quotesPlist = NSArray(contentsOfFile: path!)
quoteLbl.text = quotesPlist[Int(randomNumber())] as? String
}
SavedQuote性質:
@NSManaged var quote: String?
@NSManaged var creationDate: NSDate?
@NSManaged var uuid: String?
這是HomeVC:
func createQuoteFromNib() -> QuoteView! {
return NSBundle.mainBundle().loadNibNamed("QuoteView", owner: self, options: nil)[0] as? QuoteView
}
@IBAction func saveACTION(sender: UIBarButtonItem) {
if let label = currentQuote.quoteLbl.text where label != "" {
let app = UIApplication.sharedApplication().delegate as! AppDelegate
let context = app.managedObjectContext
let entity = NSEntityDescription.entityForName("SavedQuotes", inManagedObjectContext: context)!
let quote = SavedQuotes(entity: entity, insertIntoManagedObjectContext: context)
quote.quote = currentQuote.quoteLbl.text
quote.creationDate = NSDate()
quote.uuid = NSUUID().UUIDString
context.insertObject(quote)
do {
try context.save()
} catch let err as NSError {
print(err.debugDescription)
}
}
}
這是我FavoritesVC:
var quotesArray = [SavedQuotes]()
@IBOutlet weak var tableView: UITableView!
func fetchAndSetResults(){
let app = UIApplication.sharedApplication().delegate as! AppDelegate
let context = app.managedObjectContext
let fetchRequest = NSFetchRequest(entityName: "SavedQuotes")
let dateSort = NSSortDescriptor(key: "creationDate", ascending: false)
fetchRequest.sortDescriptors = [dateSort]
do {
let results = try context.executeFetchRequest(fetchRequest)
quotesArray = results as! [SavedQuotes]
} catch let err as NSError {
print(err.debugDescription)
}
}