(这可能已在其他地方得到解答,但我不知道要搜索什么来找到它)
我在下面有printErrorMessage
方法,我发现它非常有用。我已经将它包含在我的所有课程中,但在复制代码方面有点愚蠢。我可以在单独的Utility类中将其定义为Class方法吗?
如果重要的话,这是在iOS上。
- (void) printErrorMessage: (NSString *) errorString withStatus: (OSStatus) result
{
char str[20];
// see if it appears to be a 4-char-code
*(UInt32 *)(str + 1) = CFSwapInt32HostToBig(result);
if (isprint(str[1]) && isprint(str[2]) && isprint(str[3]) && isprint(str[4])) {
str[0] = str[5] = '\'';
str[6] = '\0';
} else
// no, format it as an integer
sprintf(str, "%d", (int)result);
NSLog (@"*** %@ error: %s\n", errorString, str);
}
答案 0 :(得分:1)
我可以在单独的Utility类中将其定义为Class方法吗?
当然可以。这就是类方法的用途。或者,通过类别将其注入现有的类中。
答案 1 :(得分:0)
我用来创建一个静态方法的类:
@interface Utils
+ (void) printErrorMessage: (NSString *) errorString withStatus: (OSStatus) result
@end
现在,您可以使用以下代码从代码中的任何位置调用此方法:
[Utils printErrorMessage:@"string" withStatus:status];