2017-03-29 8 views
1

私のアプリケーションでは、ローカルに値を格納するためにレルムストレージを使用しています。配列値をスティングとして保存することができます。しかし、配列として値を格納したり取得したりすることはできません。レルムオブジェクトにNSArray値を格納し、それを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には、というオブジェクトがあり、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) 
} 

詳細については、私は、レルムスウィフトドキュメントの'To-Many Relationships' sectionをチェックアウトすることをお勧めします。 :)

関連する問題