我有一个关于在为iOS开发时在Objective-C中使用NSLog函数的问题。 我习惯于C++语法,所以这有点新。Objective-C:NSLog传递值(按引用传递与按值传递)
在我们看到,指针的值在函数传递第一种情况:
在我们看到指针本身传递函数中的第二情况下:
这是否意味着%@参数需要一个指向对象的指针, 和所有其他(%i,%c,%d,%f,u)都取值。我想这与原始数据类型和对象有关吗?
我有一个关于在为iOS开发时在Objective-C中使用NSLog函数的问题。 我习惯于C++语法,所以这有点新。Objective-C:NSLog传递值(按引用传递与按值传递)
在我们看到,指针的值在函数传递第一种情况:
在我们看到指针本身传递函数中的第二情况下:
这是否意味着%@参数需要一个指向对象的指针, 和所有其他(%i,%c,%d,%f,u)都取值。我想这与原始数据类型和对象有关吗?
这是否意味着%@参数采用指向所述对象
是,它需要一个指向一个Objective-C的对象,其可以是NSString
型或衍生的任何其他NSObject
的类型;在后一种情况下,使用description
方法将对象转换为字符串。您可以将其视为与Objective-C字符串的%s
等效。
这是怎么%@
占位符在苹果确实描述:
Objective-C的对象,打印为通过descriptionWithLocale返回的字符串:如果有的话,或以其它方式描述。也适用于CFTypeRef对象,返回CFCopyDescription函数的结果。
看看this Apple document了解更多的细节,也"String Format Specifiers"。