I have the following simplified code example:
#define debugWithMsg context:(CFStringRef)__FUNCTION__ lineNumber:__LINE__ debug:
@interface MyLogger : NSObject {
...
}
- (void) context:(CFStringRef)function
lineNumber:(int)line
debug:(NSString*)messageFormat, ...;
@end
I use this method in other classes to print debugging messages in the Xcode console. Here is an example. I am testing my debugging method (in the MyViewController class with a table view):
- (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section {
...
[myLogger debugWithMsg@"something for %@", @"testing!"];
...
}
...
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
[myLogger debugWithMsg@"something for %@", @"another testing!"];
...
}
; C/++ ObjC. , , , "" . : __FUNCTION__ ++, __LINE__ C. , . , XCode :
[timestamp] -[MyViewController tableView:numberOfRowsInSection:] line:107 - something for testing!
...
[timestamp] -[MyViewController tableView:cellForRowAtIndexPath:] line:124 - something for another testing!
MyLogger . ? - ?
, NSLog (fmt,...), :
MyDebugLog(instance, fmt, ....)
- MyLogger, fmt,... - var. :
[logger, context:(CFStringRef)__FUNCTION__ lineNumber:__LINE__ \
debug:fmt,
, "" " , :
- (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section {
...
MyDebugLog(myLogger, @"something for %@", @"testing!");
...
}
, . - ?