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