(我是一个cocoa初学者)我想知道为什么我们要这样做:
NSLog(@"this is the variable value: %d",variable);
而不是像这样:
[NSLog outputThis:@"this is the variable value: %d" param:variable];
(我是一个cocoa初学者)我想知道为什么我们要这样做:
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)。
所有你可能已经习惯了的GUI相关内容,例如[UIView presentModalViewController:]等,都是基于Objective-C API构建的,使用了你所见过的函数方括号(在Obj-C中称为选择器)。Objective-C语言构建在C之上,因此你会发现大部分应用程序中都同时存在两种风格。
NSLog
看起来像是一个类,但实际上不是。
NSLog
是一个FoundationKit
函数,用于将调试语句打印到控制台。它定义在NSObjCRuntime.h
中:
void NSLog(NSString format, ...);
编辑:正如@fyngyrz指出的那样,该页面已经失效。因此,这是来自2012年的wayback-machine版本的页面
NSLog
对象上调用了outputThis:param:
方法。NSLog
只是Cocoa框架中的一个函数。 - Eimantas