2016-06-07 78 views
1

我定義一個類命名爲用戶設置對象是PrimaryKey的「用戶id」這樣的:境界objectForPrimaryKey無法找到我的數據庫

class User: Object { 

    var userId = 0 
    var name = "haha" 

    override static func primaryKey() -> String? { 
     return "userId" 
    }  
} 

然後我寫了一些數據defualt數據庫,我可以找到它境界的瀏覽器:

let user = User() 
user.userId = 345 
user.name = "哈哈" 
print("\n\n" + NSHomeDirectory()) 

try! realm.write { 
    realm.add(user, update: true) 
} 

但最終我用

let user = realm.objectForPrimaryKey(User.self, key: 345) 

它得到了一個對象,具有用戶id = 0第二名稱=「哈哈」

PS:我的英語不是很好,請你可以用中國的,THX

回答

0

不知道這是否幫助,但我記得我們需要VAR之前添加動態如下:

class User: Object { 

dynamic var userId = 0 
dynamic var name = "haha" 

    override static func primaryKey() -> String? { 
     return "userId" 
    }  
} 
+0

thx,我也找到並修復它 – minbaba

0

您使用realm.add(user, update: true),這將更新現有對象。沒有現有的對象,所以沒有任何反應。嘗試realm.add(user)

+0

THX,我使用的境界瀏覽器中看到的數據庫和對象肯定存在。 – minbaba