tah*_*hir 14 cocoa objective-c nslog
(我是可可初学者)我想知道为什么我们应该这样做:
NSLog(@"this is the variable value: %d",variable);
Run Code Online (Sandbox Code Playgroud)
而不是这样的:
[NSLog outputThis:@"this is the variable value: %d" param:variable];
Run Code Online (Sandbox Code Playgroud)
Ben*_*ton 18
我同意,当你刚开始时,这很令人困惑.主要原因是NSLog方法与Core Foundation中的许多其他方法一样,是基于C的API,而不是Objective-C API.C风格的函数看起来像这个myFunction(myParameter1,myParameter2).
您可能习惯使用的所有GUI内容[UIView presentModalViewController:]等都基于Objective-C API,您可以看到函数的方括号(在Obj-C中称为选择器).Objective-C语言位于C之上,因此您可以在大多数应用程序中找到这两种样式.
NSLog可能看起来像一个类,但事实并非如此。
NSLog是FoundationKit用于将调试语句打印到控制台的功能。它定义在NSObjCRuntime.h:
void NSLog(NSString format, ...);
Run Code Online (Sandbox Code Playgroud)
这里有很多信息:http : //cocoadev.com/wiki/NSLog
编辑:正如@fyngyrz所指出,该页面已死。所以这是2012年的网页的备用机器版本