Purpose of this cheat sheet is to explore debugging tools for logging.
Frequently used format specifiers:
Type | Format specifier |
---|---|
Object (prints description) | %@ |
NSInteger |
%ld |
NSUInteger |
%lu |
CGFloat |
%f |
pointer |
%p |
More format specifiers are available on: String Format Specifiers ~ Apple Documentation
Helper method to translate objects/structures into NSString
:
Function | Description |
---|---|
NSStringFromClass |
Returns the name of a class as a string. |
NSStringFromCGRect |
Returns a string formatted to contain the data from a rectangle in {{x, y}, {width, height}} format. |
NSStringFromCGSize |
Returns a string formatted to contain the data from a size data structure in {width, height} format. |
NSStringFromCGPoint |
Returns a string formatted to contain the data from a point in {x, y} format. |
NSStringFromRange |
Returns a string representation of a range in {location, length} format. |
More (less used) methods:
NSStringFromSelector
NSStringFromProtocol
NSStringFromCGVector
NSStringFromMapTable
NSStringFromUIOffset
NSStringFromHashTable
NSStringFromCGAffineTransform
NSStringFromDirectionalEdgeInsets
Debugging wrapper for NSLog
#define Debug(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
Log a backtrace of your stack
NSLog(@"%@", [NSThread callStackSymbols]);
2023-04-22 22:37:20.001544+0530 just-objc[5829:186391] (
0 just-objc 0x000000010099dda8 -[ViewController viewDidLoad] + 84
<trimmed ...>
28 UIKitCore 0x0000000107ebeff0 -[UIApplication _run] + 868
29 UIKitCore 0x0000000107ec2f3c UIApplicationMain + 124
30 just-objc 0x000000010099e024 main + 120
31 dyld 0x0000000100b2d514 start_sim + 20
32 ??? 0x0000000100d85f28 0x0 + 4309147432
33 ??? 0xdf35000000000000 0x0 + 16083761644223594496
)
Top comments (1)
Intersting!