Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c @"E;%@在目标C中?_Objective C - Fatal编程技术网

Objective c @"E;%@在目标C中?

Objective c @"E;%@在目标C中?,objective-c,Objective C,我在跟踪一个tut,发现一行代码,如按下了“%@按钮”。。我很确定相关部分是%@,但第一个@是转义序列还是什么 无论如何,搜索符号在任何搜索引擎中都不太合适,所以我想我应该问问。我认为%@就像C#?中的{0},我发现这个页面可能有帮助- 您似乎走对了方向。@“some string”表示这是一个NSString文本 @“CupOverflowException”中显示的字符串是一个常量 NSString对象。使用@符号 通常在Objective-C中表示 语言的延伸。C字串 就像C和C++一样,

我在跟踪一个tut,发现一行代码,如按下了“%@按钮”。。我很确定相关部分是%@,但第一个@是转义序列还是什么


无论如何,搜索符号在任何搜索引擎中都不太合适,所以我想我应该问问。我认为%@就像C#?

中的{0},我发现这个页面可能有帮助-

您似乎走对了方向。

@“some string”表示这是一个NSString文本

@“CupOverflowException”中显示的字符串是一个常量 NSString对象。使用@符号 通常在Objective-C中表示 语言的延伸。C字串 就像C和C++一样,“字符串” 常量”,并且是char类型*


%@
是一个格式说明符。函数如<代码> NSLogs以及诸如<代码> + StrugFieldFrase:< /C> >将通过提供的Objto-C或Core Foundation对象参数的描述来代替<代码> %@ <代码> >

例如:

NSString *myName = @"dreamlax";

NSLog (@"My name is: %@", myName);
这将记录输出
“我的名字是:dreamlax”
。有关格式说明符的详细信息,请参阅


字符串开头的初始
@
符号告诉编译器创建
NSString
对象的静态实例。如果没有初始的
@
符号,编译器将创建一个更简单的C样式字符串。由于C样式字符串不是Objective-C对象,因此不能将它们添加到
NSArray
NSDictionary
对象等。

我对该语言还是相当陌生的,但看起来@指定要传递/创建的变量是NSObject或编译器指令

如上所述,如果您这样使用它:

@“someText”

您正在实例化一个NSString对象,并将该对象的文本设置为someText。如果您看到一个好的ol'C样式格式说明符,例如:

…“这是一些文本,这是一个浮点值:%f”,myFloat)

您正在创建一些文本,并告诉编译器将myFloat的浮点字符串表示形式放入字符串中。%@是一个格式说明符,就像%f、%d、%c、%s和您使用的任何其他格式说明符一样。但是,如果您使用%@如下所示:

。。。“这是一些文本,这是一个对象:%@”,myObject]


您所做的是(我相信)告诉编译器myObject是一个对象,并且您希望它在您创建的字符串中包含描述方法的输出(即[myObject description])。

由于我没有注册此帐户,因此我无法对此帐户进行投票,但谢谢,这看起来非常有用!如果我想要有多个格式说明符呢?我是用两个%@吗?@DMan:是的,但一定要提供两个参数(按你希望的顺序)。嘿,我觉得那是个顽皮的词或什么的。