On 25/08/2011, at 10:46 AM, Brad Stone wrote: > I need to call this method manually but I'm confused how to format the > completionHandler. I don't understand what I'm reading. Can anyone give me > an example of how to define the completionHandler or point me to some > documentation? > > [self saveToURL:[self fileURL] ofType:@"myDocType" > forSaveOperation:NSAutosaveInPlaceOperation completionHandler:^(I'm > confused!!!)]; > > This is the method definition > - (void)saveToURL:(NSURL *)url ofType:(NSString *)typeName > forSaveOperation:(NSSaveOperationType)saveOperation completionHandler:(void > (^)(NSError *errorOrNil))completionHandler > > I've used blocks before like below but I don't understand the syntax above > and I couldn't find an example on the internet or the documentation. Any > help would be appreciated. > [openPanel beginSheetModalForWindow:[NSApp keyWindow] > completionHandler:^(NSInteger theResult) { > if (theResult) { > // some code here > }
Separate the block definition from the calling method to make it clearer: void (^completionHandler)(NSError*) = ^(NSError* error) { // here, write the code that makes up the body of the completion handler } [self saveToURL:[self fileURL] ofType:@"myDoc" forSaveOperation:saveOp completionHandler:completionHandler]; Here we just named the block 'completionHandler', but it could be anything, such as 'fred' - it's just a variable identifier. --Graham _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com