On Mon, Feb 13, 2012 at 9:04 AM, Chris Paveglio
<[email protected]> wrote:
> I'm having an issue with the percent character being displayed as random
> numbers in an NSAlertPanel (modal). My app has an ivar, "fullString",
> including the usual property/synthesize getters and setters, there is nothing
> special about it. fullString is bound to an NSTextField where a user might
> type "10% off all shoes", or put some text that contains dollar signs or
> percent signs. Later another method will validate if it's a web address or
> plain text and display an alert if it's not a web address. At this point I
> use the usual -stringWithFormat and put the "fullString" text in with some
> other descriptive text. But if fullString contains a percent character, then
> the NSAlert displays something like "10254458745ff all shoes". Why is the
> percent character being turned into some numbers, and it also seems to lop
> off the space and letter o as well? Using ampersand, dollar sign, and number
> symbol all display properly.
NSAlert takes a format string. Therefore you must take care to never
ever pass user input as part of the format string.
NSString *fullString = managedObj.fullString;
NSString *informativeText = [NSString stringWithFormat:@"The
fullString %@ is invalid.", fullString];
NSAlert *alert = [NSAlert alertWithMessageText:…
informativeTextWithFormat:@"%@", informativeText];
Note the use of "%@" as the format argument.
--Kyle Sluder
_______________________________________________
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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]