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.
cloudmusic/cloudmusic/ExtensionUIView.swift

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)")
}
}
}