2017-03-29 45 views
1

在我的應用程序中,我們使用Realm Storage來存儲本地值。我可以將我的數組值存儲爲Sting。但不能將數值存儲和修改爲數組。是否有可能將NSArray值存儲到Realm對象並將其作爲NSArray檢索。 這裏是我用來存儲字符串值的代碼:iOS Swift 3將NSArray值存儲到領域

class PracticeView: Object 
{ 
    dynamic var PracticeArray = "" 
} 

與用法:

let realm:Realm = try! Realm() 
let PracticeDetails = PracticeView() 
PracticeDetails.PracticeArray = "Test String Values" 
try! realm.write 
{ 
    realm.add(PracticeDetails) 
} 
print("Values In Realm Object: \(PracticeDetails.PracticeArray)") 

//Result Will Be 
Values In Realm Object: Test String Values 

回答

4

沒有,境界不能存儲本地陣列(無論是Objective-C的NSArray對象或斯威夫特陣列)的特性Object模型類。

在Realm Swift中,有一個對象叫List,它允許你將一個Realm Object實例作爲子對象存儲。這些仍然不能是字符串,所以有必要將字符串封裝在另一個Realm Object子類中。

class Practice: Object { 
    dynamic var practice = "" 
} 

class PracticeView: Object { 
    let practiceList = List<Practice>() 
} 

let newPracticeView = PracticeView() 

let newPractice = Practice() 
newPractice.practice = "Test String Value" 
newPracticeView.practiceList.append(newPractice) 

let realm = try! Realm() 
try! realm.write { 
    realm.add(newPracticeView) 
} 

有關更多信息,我建議您查看Realm Swift文檔的'To-Many Relationships' section。 :)