<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 15.0.0 -",
    "visionOS: -",
    "watchOS: 8.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CloudKit",
  "identifier" : "/documentation/CloudKit/CKFetchShareParticipantsOperation/perShareParticipantResultBlock",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "CloudKit"
    ],
    "preciseIdentifier" : "s:So33CKFetchShareParticipantsOperationC8CloudKitE03perB22ParticipantResultBlockySo24CKUserIdentityLookupInfoC_s0I0OySo07CKShareH0Cs5Error_pGtcSgvp"
  },
  "title" : "perShareParticipantResultBlock"
}
-->

# perShareParticipantResultBlock

The closure to execute as the operation generates individual participants.

```
var perShareParticipantResultBlock: ((CKUserIdentity.LookupInfo, Result<CKShare.Participant, any Error>) -> Void)? { get set }
```

## Discussion

This property is a closure that returns no value and has the following parameters:

- The lookup info of the share participant.
- A <doc://com.apple.documentation/documentation/Swift/Result> that contains either a generated share participant, or an error that describes why CloudKit can’t generate the share participant.

The fetch operation executes this closure once for each lookup info in the [`userIdentityLookupInfos`](/documentation/CloudKit/CKFetchShareParticipantsOperation/userIdentityLookupInfos) property. Each time the closure executes, it executes serially with respect to the other closures of the operation.

If you intend to use this closure to process results, set it before you execute the operation or submit the operation to a queue.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)