Realm自增主键的解决方案 以及 Realm简单Demo

2016-08-05  本文已影响3975人  mqhong

2016年08月04日星期四


Demo地址

import Foundation
import RealmSwift

class Person: Object {
    dynamic var id = NSUUID().UUIDString
    dynamic var name = ""
    dynamic var birthdate = NSDate()
    let dogs = List<Dog>()
    
    override static func primaryKey() ->String?{
        return "id"
    }
}

类文件中这么写~

import Foundation
import RealmSwift

class Person: Object {
    dynamic var id = 0
    dynamic var name = ""
    dynamic var birthdate = NSDate()
    let dogs = List<Dog>()
    
    override static func primaryKey() ->String?{
        return "id"
    }
    
    func IncrementaID() -> Int {
        let realm = try! Realm()
        let RetNext: NSArray = Array(realm.objects(Person).sorted("id"))
        let last = RetNext.lastObject
        if RetNext.count > 0 {
            let valor = last?.valueForKey("id") as? Int
            return valor! + 1
        } else {
            return 1
        }
    }
    
}

使用的时候

func Addddd(sender: AnyObject) {
        print(#function)
        let pp = Person()
        pp.id  = pp.IncrementaID()
        pp.name = #function
        rdao.Insert_Realm(person: pp)//这里是调用的方法
    }

就是这样了。

上一篇 下一篇

猜你喜欢

热点阅读