2014-06-07 133 views
0

我有一个关于在为iOS开发时在Objective-C中使用NSLog函数的问题。 我习惯于C++语法,所以这有点新。Objective-C:NSLog传递值(按引用传递与按值传递)

在我们看到,指针的值在函数传递第一种情况: NSLog with value of pointer

在我们看到指针本身传递函数中的第二情况下: NSLog with pointer adres

这是否意味着%@参数需要一个指向对象的指针, 和所有其他(%i,%c,%d,%f,u)都取值。我想这与原始数据类型和对象有关吗?

回答

1

这是否意味着%@参数采用指向所述对象

是,它需要一个指向一个Objective-C的对象,其可以是NSString型或衍生的任何其他NSObject的类型;在后一种情况下,使用description方法将对象转换为字符串。您可以将其视为与Objective-C字符串的%s等效。

这是怎么%@占位符在苹果确实描述:

Objective-C的对象,打印为通过descriptionWithLocale返回的字符串:如果有的话,或以其它方式描述。也适用于CFTypeRef对象,返回CFCopyDescription函数的结果。

看看this Apple document了解更多的细节,也"String Format Specifiers"