【问题标题】:Why type NSString cannot be returned by value?为什么类型 NSString 不能按值返回?
【发布时间】:2013-11-13 17:29:05
【问题描述】:

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

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

【问题讨论】:

    标签: objective-c


    【解决方案1】:

    NSString 与任何其他 Cocoa 类的实例一样,总是通过指针传递。这就是为什么@ 符号定义了一个静态分配的NSString 对象,并返回它的指针。

    查看这个问题的原因:Why do Objective-C objects have to be dynamically allocated?

    【讨论】:

      猜你喜欢
      • 2015-11-14
      • 1970-01-01
      • 1970-01-01
      • 2019-01-08
      • 1970-01-01
      • 1970-01-01
      • 2016-12-30
      • 2023-03-18
      • 1970-01-01
      相关资源
      最近更新 更多