【问题标题】:Returning NSString, Error Message: Variable is not CFString返回 NSString,错误信息:变量不是 CFString
【发布时间】:2010-06-29 20:59:47
【问题描述】:

我很快就开始使用 Cocoa 编程 Mac OS X 应用程序,所以这是一个真正的新问题。为此事道歉。

一开始我的代码sn-p:

- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
    Purchaser *actPurchaser = [tableViewDataArray objectAtIndex:row];
    NSString *colID = [tableColumn identifier];
    NSString *cell = [actPurchaser performSelector:NSSelectorFromString( colID)];

    return cell;
}

你看我想在 NSTableView 中显示购买者的所有成员,但是程序启动了很长时间然后失败了。在调试器中查看问题是 NSString,调试器说“变量不是 CFString”。我不知道这应该/可能意味着什么,所以我四处搜索,找到了一些论坛帖子,但没有人帮助我。

有什么想法吗?如果我泄露了一些信息,对不起。向我询问他们!

您好, 丹尼斯

【问题讨论】:

  • 调试器在哪一行出现错误消息?

标签: cocoa macos nsstring cfstring


【解决方案1】:

您是否检查过 -identifier 方法实际上返回了一个 NSString 实例?试试 NSLog(@"colID = %@", colID);我怀疑您可能没有为某些列设置标识符,或者您设置的标识符不是字符串。

【讨论】:

  • 你完全正确!我的失败是在购买者类中有一个枚举类型的变量。因此,该程序无法启动...感谢您的建议 ;-) Dennis
  • 不客气。此外,如果您认为您的问题现在已解决,请单击我的答案旁边的复选标记以将此问题标记为已回答。
猜你喜欢
  • 2011-08-11
  • 1970-01-01
  • 1970-01-01
  • 2019-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多