On Dec 10, 2011, at 16:51 , C.W. Betts wrote:
> - (BOOL)readFromFileWrapper:(NSFileWrapper *)fileWrapper ofType:(NSString
> *)typeName error:(NSError **)outError
> {
> int chosen = [self showMemoryCardChooserForFile:[fileWrapper filename]];
> if (chosen == 0) {
> return NO;
> } else {
> [ConfigurationController setMemoryCard:chosen toPath:[[self
> fileURL] path]];
> //TODO: make this return YES so that "File Can't be Opened"
> dialog box doesn't pop up, but the window itself doesn't stay on the screen.
> return NO;
> }
> }
> It is returning NO because if I return YES, after the modal window pops up, a
> button is pressed that will dismiss the modal dialog, the window pops up
> again, non-modal this time, making the button that would have closed it not
> work. But because I return NO, a message pops up that says the file could not
> be opened. I want to fix that if at all possible.
Incidentally, this code is seriously wrong, assuming you didn't leave anything
out for brevity's sake. If you return NO, you *must* create a NSError object
and return it via the outError parameter. Without the returned error object,
your app is likely to crash.
If you want to return NO and also prevent the document handling mechanism from
displaying any kind of error, then you can return a NSError with domain
NSCocoaErrorDomain and code NSUserCancelledError. That suppresses the
framework's error reporting.
_______________________________________________
Cocoa-dev mailing list ([email protected])
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 [email protected]