2017-12-19 15 views
0

나는이 같은 수행하나의 UICloudSharingController와 함께 CKShares를 곱하는 방법이 있습니까? 지금 하나의 공유를위한

//here I have access to record fetched from cloud database 
let controller = UICloudSharingController { controller, preparationCompletionHandler in 
    let share = CKShare(rootRecord: record) 
    share[CKShareTitleKey] = territory.name as CKRecordValue 
    share[CKShareTypeKey] = "pl.blueworld.fieldservice" as CKRecordValue 
    share.publicPermission = .readWrite 

    let operation = CKModifyRecordsOperation(recordsToSave: [record, share], recordIDsToDelete: nil) //what happens if I pass here a three records and three related ckshares? 
    operation.savePolicy = .ifServerRecordUnchanged 

    operation.modifyRecordsCompletionBlock = { records, recordIds, error in 
     preparationCompletionHandler(share, CloudAssistant.shared.container, error) //how can I do it for every created ckshare? 
    } 

    operation.database = territory.database 
    CloudAssistant.shared.operationQueue.addOperation(operation) 
} 
controller.delegate = self 
controller.popoverPresentationController?.barButtonItem = self.collaborateBarButtonItem 
present(controller, animated: true) 

하지만 어떻게 내가 2 ckshares이 작업을 수행 할 수 있습니까? 가능한가?

답변

1

예를 들어, share을 추가하는 경우 원하는만큼 설정할 수 있습니다 (예 : let share1 = ...; let share2 = ...;. 그런 다음 CKModifyRecordsOperation 이니셜 라이저에서 각 공유를 추가합니다 (예 : CKModifyRecordsOperation(recordsToSave: [record1, share1, record2, share2].

+0

소리가 좋습니다. –