data排序 swift_swift 图片转data data转图片 - CSDN
  • Swift 3.0 使用Core Data

    2017-07-23 11:07:22
    自iOS10 和swift3.0 之后,苹果的访问CoreData的方法发生了很大改变,简洁了许多,下面的内容是从0开始建立一个entity,并实现其存储和读取的功能。

    swift版本:3.0
    Xcode版本:8.0
    iOS版本:10.0

    自iOS10 和swift3.0 之后,苹果的访问CoreData的方法发生了很大改变,简洁了许多,下面的内容是从0开始建立一个entity,并实现其存储和读取的功能。
    注:这个是一种convenience方法,即快速实现。所以并不需要新建对应于entity的class
    1.新建工程
    没什么好说的,勾选 Use Core Data

    2.打开xcdatamodeld文件,新建一个entity,我们叫它Person,然后在右侧的Attributes里面增加属性,这里添加了name和age两个属性,type自选
    这里写图片描述

    3.获取Context,为了方便使用,这里封装成一个函数
    注意!!:在对应的swift文件内需要先 import CoreData

        func getContext () -> NSManagedObjectContext {
            let appDelegate = UIApplication.shared.delegate as! AppDelegate
            return appDelegate.persistentContainer.viewContext
        }

    4.存储一条新数据

    func storePerson(name:String, age:Int){
           let context = getContext()
           // 定义一个entity,这个entity一定要在xcdatamodeld中做好定义
           let entity = NSEntityDescription.entity(forEntityName: "Person", in: context)
    
           let person = NSManagedObject(entity: entity!, insertInto: context)
    
           person.setValue(name, forKey: "name")
           person.setValue(age, forKey: "age")
    
           do {
           try context.save()
               print("saved")
           }catch{
               print(error)
           }
    }

    5.获取entity的全部内容

    // 获取某一entity的所有数据
    func getPerson(){
            let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Person")
            do {
                let searchResults = try getContext().fetch(fetchRequest)
                print("numbers of \(searchResults.count)")
    
                for p in (searchResults as! [NSManagedObject]){
                    print("name:  \(p.value(forKey: "name")!) age: \(p.value(forKey: "age")!)")
                }
            } catch  {
                print(error)
            }
        }

    这样数据就可以完全的写入APP内部了

    放上完整demo的链接
    完整demo下载

    效果截图
    这里写图片描述
    这里写图片描述

    参考:

    https://learnappdevelopment.com/uncategorized/how-to-use-core-data-in-ios-10-swift-3/

    展开全文
  • //dataArray:[OperationMaintenanceObject] 对象数组 funcresponsDeal(dataArray:[OperationMaintenanceObject]){ //可变集合 letoperationSet =NSMutableSet() //遍历数组加进集合 fo...

    通过服务器获取到一个json数组,有可能数组里的数据时乱序的,当有需求要按照时间的顺序显示数组中的model,便可利用swift中的sorted函数来进行排序。

    代码如下:

            //按日期排序
            self.dataDayArr = dataArray.sorted(by: { (obj1, obj2) -> Bool in
                let dateFormater = DateFormatter()
                dateFormater.dateFormat = "YYYY-MM-dd"
                let date1 = dateFormater.date(from: (obj1.date)!)
                let date2 = dateFormater.date(from: (obj2.date)!)
                return date1?.compare(date2!) == .orderedDescending
            })

    ocmpare函数解析:

    其中:

    q  orderedAscending(-1):左操作数小于右操作数。

    q  orderedSame(0):        两个操作数相等。

    q  orderedDescending(1):左操作数大于右操作数。

     

    展开全文
  • Swift 3.0之前,我们可以这样fetch数据: var people = [NSManageObject]()//1 let fetchRequest = NSFetchRequest(entityName: "Person")do { //2 let results = try managedContext.executeFetchRequest...

    在Swift 3.0之前,我们可以这样fetch数据:

    
    var people = [NSManageObject]()
    
    //1
    let fetchRequest = NSFetchRequest(entityName: "Person")
    
    do {
    //2
    let results =
    try managedContext.executeFetchRequest(fetchRequest)
    //3 
    people = results as! [NSManagedObject]
    } catch let error as NSError {
    print("Could not fetch \(error), \(error.userInfo)")
    }
     }

    不过在Swift 3.0以后,要做一些调整,首先第1句修改为:

    let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Person")

    在这里你必须明确指定一种泛型,在第2句修改如下:

    let results = try managedContext.fetch(fetchRequest)

    最后第3句不需要做改变.

    其实第1句也可以这么写:

    let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Person")

    这样第3句就可以将类型转换删掉了:

    people = results
    展开全文
  • 快速排序-Swift 实现

    2018-06-19 17:30:45
    如题,上代码:func quick_sort(arr: inout [Int]) { if arr.count == 0 { print("Data error") } _q_sort(arr: &amp;arr, start: 0, end: arr.count - 1) } func _q_...

    如题,上代码:

    func quick_sort(arr: inout [Int]) {
               if arr.count == 0 {
                   print("Data error")
               }
    
           _q_sort(arr: &arr, start: 0, end: arr.count - 1)
       }
    
       func _q_sort(arr: inout [Int], start: Int, end: Int) {
    
           if start >= end {
               return
           }
    
    
           var i = start
           var j = end
           let keyValue = arr[i]
    
           if i < j {
               while i < j &&  keyValue <= arr[j] {
                   j -= 1
               }
    
               if i < j {
                   swap(arr: &arr, i: i, j: j)
               }
    
               while i < j && keyValue >= arr[i] {
                   i += 1
               }
    
               if i < j {
                   swap(arr: &arr, i: i, j: j)
               }
           }
    
           _q_sort(arr: &arr, start: start, end: j - 1)
           _q_sort(arr: &arr, start: i + 1, end: end)
       }
    
       func swap(arr: inout [Int], i: Int, j:Int) {
           let temp = arr[i]
           arr[i] = arr[j]
           arr[j] = temp
       }

    展开全文
  • //dataArray:[OperationMaintenanceObject] 对象数组 func responsDeal(dataArray:[OperationMaintenanceObject]){ //可变集合 let operationSet = NSMutableSet() //遍历数组加进集合 for operatio...
  • 上篇博客主要讲了冒泡排序、插入排序、希尔排序以及选择排序。本篇博客就来讲一下堆排序(Heap Sort)。看到堆排序这个名字我们就应该知道这种排序方式的特点,就是利用堆来讲我们的序列进行排序。“堆”其实就是一...
  • 快速排序实现原理: 1.选数组中某一个元素作为基数,可随便选,一般选取数组第一元素或者数组最后一个元素 2.对数组做第一次排序,将数组中小于基数的元素都放到数组的左边,数组中大于基数的元素都放到数组的右边 3...
  • 构建数据层 按照官方sample,我们使用简单的plist来保存数据(当然使用内置数据库也ok)。该plist既是我们列表中需要显示的内容。 1.将化学元素的数据整理为Elements.plist,该plist的结构为Array(java表示为...
  • 创建一个名为CoreDataStack的swift加入到工程中。 定义成员变量: import CoreData class CoreDataStack { let context: NSManagedObjectContext let psc: NSPersistentStoreCoordinator let mo
  • Swift使用CoreData

    2016-05-03 13:12:08
    更新数据新建工程新建一个swift工程,勾选Use Core Data 建表并生成文件找到工程中的(项目名.xcdatamodeld),新建Entity 然后选中(项目名.xcdatamodeld),选择Editor->Create NSmanagedObject Subclass… 选择...
  • 前面几篇博客都是关于排序的,在之前陆陆续续发布的博客中,我们先后介绍了冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序以及快速排序。俗话说的好,做事儿要善始善终,本篇博客就算是对之前那几篇博客...
  • 普通数组排序数组排序可以用sort实现,如:  var dataItem:[String] = ["测试","测试a","test",]  dataItem = sort(&dataItem){$0>$1} 而元组数组却不能这样处理,比如: var dataItem:[(String,String,...
  • Swift Core Data

    2017-10-09 17:43:12
    Swift Core Data首先需要创建一个模版,进去“file”->“new”->”file”->”Core Data”->”Data Model”。然后点击右下角的“add entity”。 在Xcode里面这个Entity会变成一个NSMangedObject的一个实体。Xcode的...
  • 概要基本概念二叉排序树查找二叉排序树插入二叉排序树创建二叉排序树删除删除叶子结点或仅有左右子树之一的结点删除左右子树都有的结点总结 基本概念 二叉排序树(Binary Sort Tree),又称为二叉查找树。它或者是...
  • 今天给大家带来的是堪称是一个可以替代SQLite,Core Data 的以及ORMlibraries的轻量级数据库—Realm移动端数据库。相比SQLite,Realm更快并且具有很多现代数据库的特性,比如支持JSON,流式api,数据变更通知,以及...
  • (本文代码已升级至Swift4) 1,什么是Realm Realm 于2014 年7月发布,是一个跨平台的移动数据库引擎,专门为移动应用的数据持久化而生。其目的是要取代 Core Data 和 SQLite。 2,关于Realm,你要知道下面几...
  • Core Dataswift里常用的持久性存储方式,以下是我在学习Core Data过程中发现的比较有用的资料 CoreData Ordered Lists in SwiftUI Part 1,CoreData Ordered Lists in SwiftUI Part 2通过一个清单App演示CoreData...
  • iOS swift常用函数

    2018-02-25 15:39:32
    Swift包含了74个内置函数,但在 The Swift Programming Langage 一书中只介绍了其中的7个,其它的都没有在文档中体现。 这篇文章列举出了所有的Swift库函数。文中所谓的 内置函数 是指无需引入任何模块(比如说...
  • 本篇博客中的代码实现依然采用Swift3.0来实现。在前几篇博客连续的介绍了关于查找的相关内容, 大约包括线性数据结构的顺序查找、折半查找、插值查找、Fibonacci查找,还包括数结构的二叉排序树以及平衡二叉树的构建...
1 2 3 4 5 ... 20
收藏数 2,384
精华内容 953
关键字:

data排序 swift