You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
3.0 KiB
94 lines
3.0 KiB
//
|
|
// Alert.swift
|
|
// cloudmusic
|
|
//
|
|
// Created by Qihua Pan on 2020/7/3.
|
|
// Copyright © 2020 Qihua Pan. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
import CoreData
|
|
extension UIViewController{
|
|
func alertModal(message:String,title:String="警告信息",preferredStyle:UIAlertController.Style=UIAlertController.Style.alert,style:UIAlertAction.Style=UIAlertAction.Style.destructive){
|
|
let alertController = UIAlertController(title: title, message: message, preferredStyle: preferredStyle)
|
|
|
|
alertController.addAction(UIAlertAction(title: "确认", style:style, handler: nil))
|
|
|
|
self.present(alertController, animated: true, completion: nil)
|
|
}
|
|
|
|
//获取上下文对象
|
|
func getContext()-> NSManagedObjectContext {
|
|
//获取总代理
|
|
let appDelegate = UIApplication.shared.delegate as! AppDelegate
|
|
//获取托管对象总管
|
|
//let managedObjectContect = appDelegate.persistentContainer.viewContext
|
|
//返回托管对象总管
|
|
return appDelegate.persistentContainer.viewContext
|
|
}
|
|
|
|
func getMusic(id: Int32,name: String) -> Music {
|
|
let fetchRequest: NSFetchRequest = Music.fetchRequest()
|
|
fetchRequest.predicate = NSPredicate(format: "id == %@", NSNumber(value: id))
|
|
do {
|
|
let result: [Music] = try self.getContext().fetch(fetchRequest)
|
|
debugPrint("count=\(result.count)")
|
|
if result.count > 0{
|
|
return result[0]
|
|
}else{
|
|
let music = NSEntityDescription.insertNewObject(forEntityName: "Music", into: self.getContext()) as! Music
|
|
music.id=id
|
|
music.name=name
|
|
music.status=false
|
|
return music
|
|
}
|
|
} catch {
|
|
fatalError();
|
|
}
|
|
|
|
}
|
|
|
|
|
|
func clearAll(){
|
|
let fetchRequest: NSFetchRequest = Music.fetchRequest()
|
|
let context=self.getContext()
|
|
do {
|
|
let result = try context.fetch(fetchRequest)
|
|
for item in result{
|
|
context.delete(item)
|
|
}
|
|
do {
|
|
try self.getContext().save()
|
|
} catch {
|
|
let nserror = error as NSError
|
|
fatalError("Unresolved error \(nserror), \(nserror.userInfo)")
|
|
}
|
|
} catch {
|
|
fatalError();
|
|
}
|
|
}
|
|
|
|
func getPlayList()->[Music]{
|
|
let fetchRequest: NSFetchRequest = Music.fetchRequest()
|
|
fetchRequest.predicate = NSPredicate(format: "status == true")
|
|
do {
|
|
let result: [Music] = try self.getContext().fetch(fetchRequest)
|
|
return result
|
|
} catch {
|
|
fatalError();
|
|
}
|
|
|
|
}
|
|
|
|
// 更新数据
|
|
func saveContext() {
|
|
do {
|
|
try self.getContext().save()
|
|
} catch {
|
|
let nserror = error as NSError
|
|
fatalError("Unresolved error \(nserror), \(nserror.userInfo)")
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|