【问题标题】:NSString object not initialized properlyNSString 对象未正确初始化
【发布时间】:2012-06-28 13:00:52
【问题描述】:

谁能告诉我我在这里做错了什么。我正在尝试从预定义名称列表中初始化一个字符串,但由于某种原因,它不适用于作为类字段的 NSString:

MyController.h:

@interface MyController:UIViewController
{
    NSString *text;
}


MyController.m:

-(void) viewDidLoad
{
    [super viewDidLoad];

    NSArray *list = [NSArray arrayWithObjects:@"A", @"B", @"C", nil];

    NSString* temp= [list objectAtIndex:0]; // temp = "A"

    text = [list objectAtIndex:0];  // Why text = nil ????
    text = @"Hello";   // does not work either
}

【问题讨论】:

  • 这绝对可以。你有调试器吗?
  • 调试器是这么说的。
  • 根据我的经验,有时调试器可能会出错,您是否尝试过记录 text 在这些点上?
  • 你是对的..调试器需要调试

标签: objective-c nsstring


【解决方案1】:

在这种情况下证明调试器是错误的。

【讨论】:

  • .. 除非他在启用 ARC 的情况下进行构建。然后就好了。
  • @BenClayton 同意。我们是否必须猜测?
【解决方案2】:

尝试将文本设置为等于NSString *text = [NSString stringWithFormat:@"%@", [list objectAtIndex:0]];

【讨论】:

  • 当它只是一个引用计数问题时,为什么要使用stringWithFormat
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-21
  • 2012-06-17
  • 2022-01-22
  • 2014-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多