(我是可可初学者,并且)我想知道为什么我们应该这样做:
NSLog(@"this is the variable value: %d",variable);
而不是这样的:
[NSLog outputThis:@"this is the variable value: %d" param:variable];
(我是可可初学者,并且)我想知道为什么我们应该这样做:
NSLog(@"this is the variable value: %d",variable);
而不是这样的:
[NSLog outputThis:@"this is the variable value: %d" param:variable];
我同意当你刚开始时这很令人困惑。主要原因是 NSLog 方法和 Core Foundation 中的许多其他方法一样,是基于 C 的 API,而不是 Objective-C API。C 风格的函数看起来像这样myFunction(myParameter1, myParameter2)。
您可能习惯于 [UIView presentModalViewController:] 等的所有 GUI 内容都基于一个 Objective-C API,带有您在函数中看到的方括号(在 Obj-C 中称为选择器)。Objective-C 语言位于 C 之上,因此您会在大多数应用程序中找到这两种风格。
据我了解,NSLog 不是一个 Objective C 函数,而是一个内置于 Cocoa 基础中的 C 函数。因此,它符合带有可变参数的基本 C 函数。
NSLog
可能看起来像一个类,但它不是。
NSLog
是一个FoundationKit
将调试语句打印到控制台的函数。它定义在NSObjCRuntime.h
:
void NSLog(NSString format, ...);
这里有大量信息:http: //cocoadev.com/wiki/NSLog
编辑:正如@fyngyrz 指出的那样,该页面已死。所以这是 2012 年页面的回程机器版本