NSFormatter problems with Snow Leopard
NSFormatter problems with Snow Leopard
- Subject: NSFormatter problems with Snow Leopard
- From: Nathan Auch <email@hidden>
- Date: Fri, 30 Oct 2009 14:57:05 -0400
I have a custom NSFormatter attached to several NSTextFields who's only
purpose is to uppercase the characters as they are typed into a field.
The entire code for my formatter is included at the end of this message.
The |stringForObjectValue()| and |getObjectValue()| implementations are
no-ops and taken pretty much directly out of Apple's documentation. I'm
using the |isPartialStringValid()| method to return an uppercase version
of the string. This code works correctly in 10.4 and 10.5. When I run it
on 10.6, I get "strange" behaviour where text fields don't always render
the characters that are typed and sometimes just display garbage. I've
tried enabling NSZombie detection and running under Instruments but
nothing was reported. When the bad behaviour occurs I see many errors in
the Console (included at the end of the message).
Can anybody shed some light on what's happening? Am I using NSFormatter
incorrectly? Is there a better way to accomplish what I want?
Thanks in Advance!
-Nathan Auch
|-(NSString*) stringForObjectValue:(id)object {
if( ![object isKindOfClass: [ NSString class ] ] ) {
return nil;
}
return [ NSString stringWithString: object ];
}
-(BOOL)getObjectValue: (id*)object forString: string
errorDescription:(NSString**)error {
if( object ) {
*object = [ NSString stringWithString: string ];
return YES;
}
return NO;
}
-(BOOL) isPartialStringValid: (NSString*) cStr newEditingString:
(NSString**) nStr errorDescription: (NSString**) error {
*nStr = [NSString stringWithString: [cStr uppercaseString]];
return NO;
}
|
|
|HIToolbox: ignoring exception '*** -[NSCFString
replaceCharactersInRange:withString:]: Range or index out of bounds'
that raised inside Carbon event dispatch
|(
0 CoreFoundation 0x917ca58a __raiseError + 410
1 libobjc.A.dylib 0x94581f49
objc_exception_throw + 56
2 CoreFoundation 0x917ca2b8 +[NSException
raise:format:arguments:] + 136
3 CoreFoundation 0x917ca22a +[NSException
raise:format:] + 58
4 Foundation 0x9140f528 mutateError + 218
5 AppKit 0x9563803a -[NSCell
textView:shouldChangeTextInRange:replacementString:] + 852
6 AppKit 0x95636cf1
-[NSTextView(NSSharing) shouldChangeTextInRanges:replacementStrings:] + 1276
7 AppKit 0x95635704 -[NSTextView
insertText:replacementRange:] + 667
8 AppKit 0x956333bb
-[NSTextInputContext handleTSMEvent:] + 2657
9 AppKit 0x95632949
_NSTSMEventHandler + 209
10 HIToolbox 0x93379129
_ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec
+ 1567
11 HIToolbox 0x933783f0
_ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec
+ 411
12 HIToolbox 0x9339aa81
SendEventToEventTarget + 52
13 HIToolbox 0x933fc952 SendTSMEvent + 82
14 HIToolbox 0x933fc2cf
SendUnicodeTextAEToUnicodeDoc + 700
15 HIToolbox 0x933fbed9 TSMKeyEvent + 998
16 HIToolbox 0x933ecede
TSMProcessRawKeyEvent + 2515
17 AppKit 0x95632228
-[NSTextInputContext handleEvent:] + 1453
18 AppKit 0x9562e088 -[NSView
interpretKeyEvents:] + 209
19 AppKit 0x95631b45 -[NSTextView
keyDown:] + 751
20 AppKit 0x95563194 -[NSWindow
sendEvent:] + 5757
21 AppKit 0x9547bceb -[NSApplication
sendEvent:] + 6431
22 AppKit 0x9540f6fb -[NSApplication
run] + 917
23 AppKit 0x95407735 NSApplicationMain
+ 574
24 macsetup 0x00001f9f main + 24
25 macsetup 0x00001b75 start + 53
)
|
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden