obj-c中的所有符号是什么?像%@,%d等等。它们都是什么意思?感谢
答案 0 :(得分:7)
%@
和%d
为format specifiers。
NSString
支持为ANSI C函数printf()
定义的格式字符,以及任何对象的@
。如果对象响应descriptionWithLocale:
消息,则NSString
发送该消息以检索文本表示,否则,它将发送描述消息。
答案 1 :(得分:2)
这些称为格式说明符。 Obj-C有许多格式说明符;我在下面的例子中提到了一些,以及输出:
NSString * name=@"XYZ";
NSLog(@"Name=%@",name);
int count=100;
NSLog(@"Count=%d",count);
Float number=555.55;
NSLog(@"number=%f",number);
输出将是:
Name=XYZ
Count=100
number=555.5549
答案 2 :(得分:1)
他们被称为Format Specifiers。
答案 3 :(得分:1)
它们是格式说明符。每种类型都适用于不同类型的变量。例如,%i
用于int
类型整数。
int theInteger = 25;
NSLog(@"The integer is = %i", theInteger);
将打印,'整数是= 25'。所有其他用于不同类型的存储变量。 %@
除外。 %@
说明符表示对象。可以是NSStrings
,NSArray
之类的内容。几乎所有在NSObject下都有子类的东西。
NSString *stringObject = [[NSString alloc]initWithString@"The String"];
NSlog(@"The string is = %@", stringObject);
在理解对象之前,你不会理解后者。我建议你买一本关于Obj-C的好书。 'Objective-C编程'由 Stephen G 撰写。 Kochan是一个良好的开端,可以很好地解释对象。
答案 4 :(得分:0)
最佳回复位于Mac Os X Refrence library。
C和Objective C之间的最大区别是%@符号。 %@ print as string返回对象的descriptionWithLocale(如果可用)。