在Objective-C中嵌套方法调用时,prefs是预定义的关键字吗?

Sco*_*ies 0 objective-c

我正在写一本关于Cocoa和Objective-C的书.在嵌套方法调用的示例中:

[NSString stringWithFormat:[prefs format]];
Run Code Online (Sandbox Code Playgroud)

我假设prefs是嵌套方法调用格式的返回类型...这是正确的吗?

谢谢,

斯科特

Tom*_*mmy 5

不,在这种情况下,prefs将是一个对象的实例.返回类型将是NSString*,因为这是stringWithFormat:所采用的.如果它是更广泛的例子的一部分,那么寻找'prefs'对象的声明.如果它只是一次性线,那么你现在必须相信我.请放心:[对象消息]始终将该消息发送给该对象.返回类型由消息声明定义,如果无法找到声明,则假定为'id'.

顺便说一下,这不是一个特别安全的代码.如果[prefs format]的结果包含任何格式化字符,则NSString将尝试访问调用堆栈中不存在的内容.