Obj-C中的符号

时间:2010-09-10 22:55:14

标签: iphone objective-c xcode sdk

obj-c中的所有符号是什么?像%@,%d等等。它们都是什么意思?感谢

5 个答案:

答案 0 :(得分:7)

%@%dformat specifiers

  

NSString支持为ANSI C函数printf()定义的格式字符,以及任何对象@。如果对象响应descriptionWithLocale:消息,则NSString发送该消息以检索文本表示,否则,它将发送描述消息。

另请参阅:Apple Documentation – FormatStrings.html

答案 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'。所有其他用于不同类型的存储变量。 %@除外。 %@说明符表示对象。可以是NSStringsNSArray之类的内容。几乎所有在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(如果可用)。