스위프트를 사용하여 개체를 여러 번 저장할 수 있습니까? 나는 CKFetchRecordsOperation
이나 심지어는 보통 performQuery
과 같은 것을 사용하여 여러 레코드를 한 번에 가져 오는 방법을 안다. 방금 한 번의 작업으로 여러 개의 새 레코드를 저장할 방법이 확실치 않다는 것을 알았습니다. 내가 지금까지 해왔 던 방식은 나에게 비효율적 인 것처럼 보인다. 예를 들어 : 그것은 매우 비효율적 것처럼 CloudKit 및 Swift를 사용하여 한 번에 여러 CKRecords 저장
let recordsToSave:[CKRecord]!
for newRecord in recordsToSave {
if let database = self.publicDatabase {
database.saveRecord(newRecord, completionHandler: { (record:CKRecord?, error:NSError?) in
// Check if there was an error
if error != nil {
// There was an error, handle it properly.
}
else {
// There wasn't an error
if let savedRecord = record {
// Handle saved record accordingly.
}
}
})
}
그리고 그 모든 벌금과 멋쟁이 작동 않지만
, 그것은 나에게 보인다. 루프를 통해 매번 데이터베이스 호출을 수행하는 대신CKRecords
의 전체 배열을 저장하기 위해 호출 할 특정 함수를 갖는 것이 더 합리적이라고 생각합니다. 기본적으로 여기에 내가
이 내가 할 수있는를 바라고 있어요 무엇 :
let recordsToSave:[CKRecord]!
if let database = self.publicDatabase {
// SOMETHING HERE LIKE database.saveRECORDS (plural) ????
database.saveRecords(recordsToSave, completionHandler: { (records:[CKRecord]?, error:NSError?) in
// Check if there was an error
if error != nil {
// There was an error, handle it properly.
}
else {
// There wasn't an error
if let savedRecords = records {
}
}
})
}
가장 잘 내가 획득 한 정보를 기반으로 말해, 할 수있다. database.saveRecords
(복수형)과 같은 실제 기능은 없습니다. 내가 놓친 게 아니라면? 나는 그렇게 잘랐다가 말라 지는 것이 아니라 이름이 다르다고 생각하고 있습니다. 그러나 나는 비슷한 것이 있어야한다고 생각합니다.
루프를 돌 때마다 데이터베이스 호출을해야하므로 너무 비효율적 인 것처럼 보입니다.
CloudKit
을 사용하여 한 번에 복수 CKRecords
에 대한 저장을 수행하는 방법을 아는 사람이 있습니까? 어떤 도움이라도 대단히 감사하겠습니다. 미리 감사드립니다.
바로 그게 내가 찾고있는 것입니다! 나는 여러 레코드를 저장하기 위해'CKModifyRecordsOperation'을 사용할 수 있다는 사실을 잊어 버렸습니다. 감사! – Pierce