• 24_Core Data Demo


    今天开始学习Core Data,类似于数据库,可以永久保存数据。不过当把App从iPhone删掉之后就没有了。可以用来保存App的运行数据。

    参考链接:iOS Swift教程 Core Data 概述

    Part1:

    //
    //  ViewController.swift
    //  Core Data Demo
    //
    //  Created by zcdll on 16/1/22.
    //  Copyright © 2016年 ZC. All rights reserved.
    //
    
    import UIKit
    import CoreData
    
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
            
            let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
            
            let context: NSManagedObjectContext = appDel.managedObjectContext
            
            //第一次添加时使用,不注释会每次添加一次
            /*
            let newUser = NSEntityDescription.insertNewObjectForEntityForName("Users", inManagedObjectContext: context)
            
            newUser.setValue("zcdll", forKey: "username")
            
            newUser.setValue("asdf", forKey: "password")
            
            do {
                
                try context.save()
                
            } catch {
                
                print("Save problem")
                
            }
            */
            
            let request = NSFetchRequest(entityName: "Users")
            
            do {
                
                let results = try context.executeFetchRequest(request)
                
                if results.count > 0 {
                    
                    for result in results as! [NSManagedObject] {
                        
                        print(result.valueForKey("username")!)
                        
                        print(result.valueForKey("password")!)
                        
                    }
                    
                }
                
            } catch {
                
                print("Fetch failed")
                
            }
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    }
    

    工程:24_Core_Data_Demo

    Part2:

    增加了更新数据,删除数据,查询数据等功能,感觉这样写很不灵活。

    //
    //  ViewController.swift
    //  Core Data Demo
    //
    //  Created by zcdll on 16/1/22.
    //  Copyright © 2016年 ZC. All rights reserved.
    //
    
    import UIKit
    import CoreData
    
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
            
            let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
            
            let context: NSManagedObjectContext = appDel.managedObjectContext
            
            //第一次添加时使用,不注释会每次添加一次
            /*
            let newUser = NSEntityDescription.insertNewObjectForEntityForName("Users", inManagedObjectContext: context)
            
            newUser.setValue("zcdll12", forKey: "username")
            
            newUser.setValue("asdf12", forKey: "password")
            
            do {
                
                try context.save()
                
            } catch {
                
                print("Save problem")
                
            }
            */
            
            let request = NSFetchRequest(entityName: "Users")
            
            //request.predicate = NSPredicate(format: "username = %@", "zcdll3")
            
            request.returnsObjectsAsFaults = false
            
            do {
                
                let results = try context.executeFetchRequest(request)
                
                if results.count > 0 {
                    
                    for result in results as! [NSManagedObject] {
                        
                        /*
                        
                        context.deleteObject(result)
                        //result.setValue("zcdll3",forKey: "username")
                        
                        do {
                            
                            try context.save()
                            
                        } catch {}
                        
                        */
                        
                        if let username = result.valueForKey("username") as? String {
                        
                            print(username)
                            
                        }
                        
                        //print(result.valueForKey("password")!)
                        
                    }
                    
                }
                
            } catch {
                
                print("Fetch failed")
                
            }
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    }
    

    工程:24_Core_Data_Demo

  • 相关阅读:
    easy ui 常用控件配置
    oracel 查询语句
    .Net 取树形结构的数据
    Asp.Net Core File的操作
    js 页面技巧
    ASP.NET Core 文件上传
    ASP.NET EF实体主外键关系
    ASP.NET MVC 后台传值前端乱码解决方案 富文本Ueditor编辑
    手机访问网站自动跳转到手机版
    Ecshop布局参考图
  • 原文地址:https://www.cnblogs.com/zcdll/p/5152681.html
Copyright © 2020-2023  润新知