为什么类型NSString不能按值返回?

时间:2013-11-02 17:56:35

标签: objective-c

为什么NSString不能按值重新调整?为什么当我们返回NSString类型的对象时,我们不需要使用指针符号? 在声明函数的返回类型时,指针符号是必需的:

NSString* boolString (BOOL yesNO)
{
    if (yesNO==NO) {
        return (@"NO");
    } else {
        return (@"YES");
    }
}

1 个答案:

答案 0 :(得分:5)

与任何其他Cocoa类实例一样,

NSString总是通过指针传递。这就是@符号定义静态分配的NSString对象并返回其指针的原因。

请参阅此问题,原因如下:Why do Objective-C objects have to be dynamically allocated?