search
top
Currently Browsing: Mac OSX

Obj-C: UIAlert

Display a simple message to the user thus:

UIAlertView *alert =
        [[UIAlertView alloc] initWithTitle: @"Title goes here"
                             message: @"Message goes here"
                             delegate: self
                             cancelButtonTitle: @"OK"
                             otherButtonTitles: nil];
    [alert show];
    [alert release];

If you want to catch the button press :

- (void) alertView: (UIAlertView *) alertView clickedButtonAtIndex: (NSInteger) id {
    NSLog(@"button clicked: %d", id);
}

Obj-C: performSelector instead of NSTimer

Often times I just want to delay a single call by a number of seconds. I don’t really want to loop it.

Previous I had used NSTimer to create the call, then I had to remove the time when the call was made. This was less than ideal, and more code that I would have liked. However, I’ve since discover the excellent ‘PerformSelector’:

To use:

[self performSelector:@selector(method) withObject:nil afterDelay:5.0];

To cancel:

[NSRunLoop cancelPreviousPerformRequestsWithTarget:self];

For more information, check out apples docs here: apple docs

Obj-C: StringWithFormat tokens

This is a quick reference for NSString StringWithFormat format specifiers or tokens, as I’m often trying to remember them myself.

Specifier Description
%@ Objective-C object, printed as the string returned by descriptionWithLocale: if available, ordescription otherwise. Also works with CFTypeRef objects, returning the result of theCFCopyDescription function.
%% '%' character
%d%D,%i Signed 32-bit integer (int)
%u%U Unsigned 32-bit integer (unsigned int)
%hi Signed 16-bit integer (short)
%hu Unsigned 16-bit integer (unsigned short)
%qi Signed 64-bit integer (long long)
%qu Unsigned 64-bit integer (unsigned long long)
%x Unsigned 32-bit integer (unsigned int), printed in hexadecimal using the digits 0–9 and lowercase a–f
%X Unsigned 32-bit integer (unsigned int), printed in hexadecimal using the digits 0–9 and uppercase A–F
%qx Unsigned 64-bit integer (unsigned long long), printed in hexadecimal using the digits 0–9 and lowercase a–f
%qX Unsigned 64-bit integer (unsigned long long), printed in hexadecimal using the digits 0–9 and uppercase A–F
%o%O Unsigned 32-bit integer (unsigned int), printed in octal
%f 64-bit floating-point number (double)
%e 64-bit floating-point number (double), printed in scientific notation using a lowercase e to introduce the exponent
%E 64-bit floating-point number (double), printed in scientific notation using an uppercase E to introduce the exponent
%g 64-bit floating-point number (double), printed in the style of %e if the exponent is less than –4 or greater than or equal to the precision, in the style of %f otherwise
%G 64-bit floating-point number (double), printed in the style of %E if the exponent is less than –4 or greater than or equal to the precision, in the style of %f otherwise
%c 8-bit unsigned character (unsigned char), printed by NSLog() as an ASCII character, or, if not an ASCII character, in the octal format \\ddd or the Unicode hexadecimal format \\udddd, where d is a digit
%C 16-bit Unicode character (unichar), printed by NSLog() as an ASCII character, or, if not an ASCII character, in the octal format \\ddd or the Unicode hexadecimal format \\udddd, where d is a digit
%s Null-terminated array of 8-bit unsigned characters. %s interprets its input in the system encoding rather than, for example, UTF-8.
%S Null-terminated array of 16-bit Unicode characters
%p Void pointer (void *), printed in hexadecimal with the digits 0–9 and lowercase a–f, with a leading 0x
%L Length modifier specifying that a following aAeEfFg, or G conversion specifier applies to a long double argument
%a 64-bit floating-point number (double), printed in scientific notation with a leading 0x and one hexadecimal digit before the decimal point using a lowercase p to introduce the exponent
%A 64-bit floating-point number (double), printed in scientific notation with a leading 0X and one hexadecimal digit before the decimal point using a uppercase P to introduce the exponent
%F 64-bit floating-point number (double), printed in decimal notation
%z Length modifier specifying that a following dioux, or X conversion specifier applies to a size_t or the corresponding signed integer type argument
%t Length modifier specifying that a following dioux, or X conversion specifier applies to a ptrdiff_tor the corresponding unsigned integer type argument
%j Length modifier specifying that a following dioux, or X conversion specifier applies to a intmax_tor uintmax_t argument

Mac OSX : Tabbing between windows from the same application

It’s all good being able to tab between applications in Mac OSX:

CMD + TAB

But when you’re coding in XCode, Interface Builder or similar applications with many windows, you want to be able to find those windows using shortcut keys.

The way to do that is:

CMD + `

NOTE: This ‘ character shares a key with the tilde (~) character. On my MacBook Pro it’s located above the left CTRL key, and on a full sized keyboard, top left.

top