The intent of the following code is to implement a quick and easy way to bring
up a window and provide a way to clean up after it closes. The problem is that
it is crashing. I believe I am missing something obvious here and was hoping
that someone could remove the blinders...
- (void) displayWindow
{
NSURL* documentURL;
NSWindowController* controller;
id theObserver;
documentURL = [[NSBundle mainBundle] URLForResource:@"document"
withExtension:@"rtf"];
controller = [[NSWindowController alloc]
initWithWindowNibName:@"DocDisplay"];
theObserver = [[NSNotificationCenter defaultCenter]
addObserverForName:NSWindowWillCloseNotification
object:[controller window]
queue:nil
usingBlock:^(NSNotification *note)
{
[[NSNotificationCenter defaultCenter]
removeObserver:theObserver];
[[controller window] orderOut:self];
[controller autorelease];
}];
NSArray* subviews = [[[controller window] contentView] subviews];
NSScrollView* scrollView = [subviews objectAtIndex:0];
NSTextView* rtfView = [scrollView documentView];
[rtfView readRTFDFromFile:[documentURL path]];
[[controller window] setTitle:@"TheTitle"];
[[controller window] makeKeyAndOrderFront:self];
}
Here's the relevant part of the crash log:
0 libobjc.A.dylib objc_msgSend_vtable13 + 13
1 libobjc.A.dylib objc_retain + 19
2 libsystem_blocks.dylib _Block_object_assign + 336
3 com.company.app __copy_helper_block_ + 67
4 libsystem_blocks.dylib _Block_copy_internal + 203
5 com.apple.CoreFoundation -[NSBlock copy] + 39
6 com.apple.Foundation +[__NSObserver
observerWithCenter:queue:name:object:block:] + 211
7 com.apple.Foundation -[NSNotificationCenter
addObserverForName:object:queue:usingBlock:] + 134
8 com.company.app -[TMBrowserAppDelegate displayWindow:] + 494
_______________________________________________
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]