【问题标题】:Foundation classes, check for nil after alloc init基础类,在 alloc init 之后检查 nil
【发布时间】:2014-11-26 10:00:34
【问题描述】:

我的应用程序的关键功能中需要一个可变字符串。我这样做:

NSMutableString *string = [NSMutableString alloc] init];

我的string 可能没有被分配/初始化是否有任何原因。我应该检查:

if(nil == string)
{
   // Inform the caller we failed to get a mutable string
   // return false;
}

【问题讨论】:

    标签: objective-c macos foundation nsmutablestring


    【解决方案1】:

    在这种情况下非常不太可能是nil,但不能保证。

    例如:您必须考虑到实现能够在分配失败时/如果分配失败(对象本身需要堆分配,也许它的内部也需要)返回nil

    Panic 处理程序(在 C 中)通常使用静态数组来绕过这种可能性。

    【讨论】:

      猜你喜欢
      • 2012-11-04
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-11
      • 2015-06-17
      相关资源
      最近更新 更多