0
iOS에서 오프라인 데이터를 저장하기 위해 영역 DB를 사용합니다. 루프를 사용하지 않고 배열 값을 영역 DB에 직접 저장할 수 있습니까? 기본적으로영역 데이터베이스에 배열 값 저장
iOS에서 오프라인 데이터를 저장하기 위해 영역 DB를 사용합니다. 루프를 사용하지 않고 배열 값을 영역 DB에 직접 저장할 수 있습니까? 기본적으로영역 데이터베이스에 배열 값 저장
, 당신 이이 작업을 수행 할 수없는 영역은 Lists 사용
목록 일대 관계를 정의하는 데 사용 영역의 컨테이너 유형입니다.
Swift의 Array와 마찬가지로 List는 에 저장되는 Object 형식으로 매개 변수화 된 제네릭 형식입니다.
class MyObject: Object {
dynamic var name = "Default"
}
func listToArray() {
let objectsArray = [MyObject(), MyObject(), MyObject(), MyObject(), MyObject()]
var objectsRealmList = List<MyObject>()
objectsRealmList = objectsArray
}
당신이 영역 목록에 배열을 할당 할 수 없습니다 불법 것 objectsRealmList = objectsArray
같은 것을 생각하는 경우.
따라서, this answer에서 같은 논리로, 당신은 objectsArray
을 반복해야합니다 :
func arrayToList() {
let objectsArray = [MyObject(), MyObject(), MyObject(), MyObject(), MyObject()]
let objectsRealmList = List<MyObject>()
// this one is illegal
//objectsRealmList = objectsArray
for object in objectsArray {
objectsRealmList.append(object)
}
// storing the data...
let realm = try! Realm()
try! realm.write {
realm.add(objectsRealmList)
}
}
일반적으로 목록 개체의 속성으로 될 것입니다, 당신은 개체 자체를 추가해야합니다.
왜 for 루프를 사용하지 않으시겠습니까? – Sweeper
영역에 데이터를 저장하는 방법을 일부 코드로 표시 할 수 있습니까? –