%@ and %d are called format directives. Use %@ when you want to print out the value of an object, and %d to print out the value of an integer variable. (%@ actually causes the object’s decription method to be invoked.)
There are other format specifiers, such as %c and %s. Except for %@, NSLog uses the same format specifiers that are used by the printf function.
Open the Terminal Application, and enter man 3 printf on the command line to get help for printf and format specifiers.
Also in Xcode, Option-click on NSLog to bring up the Foundation Functions Reference, follow the link to NSLogv and then to “String Format Specifiers.”