2017-03-29 21 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

아니, 영역을 저장할 수 없습니다를 기본 배열을 속성으로 (목표 - 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을 확인하는 것이 좋습니다. :)