【问题标题】:Unable to set text in NSTextView无法在 NSTextView 中设置文本
【发布时间】:2010-01-20 21:39:30
【问题描述】:

::编辑:: 现在有效吗?哈哈,也许我只是没有保存我最新的 IB……谁知道呢。 谢谢!

嘿,

这是我第一次玩桌面应用程序(我有使用 iphone 应用程序的经验),但我卡住了 - 我的文本视图不会更新以显示任何文本:

.m:
@synthesize textView;

    NSString *txt = [[[NSString alloc] initWithData:responseData encoding: NSASCIIStringEncoding] autorelease];
    NSLog(@"txt = %@", txt);
    [textView setString:txt];

.h:
    IBOutlet NSTextView *textView;
}
@property(nonatomic, retain) IBOutlet NSTextView *textView;

IB 说 textView -> Text View,所以一切看起来都不错:

  • 上面的NSLog输出我正在抓取的url资源的内容

那么,我错过了什么?

【问题讨论】:

    标签: objective-c cocoa interface-builder desktop-application nstextview


    【解决方案1】:

    仔细检查出口是否在 IB 中完成。大概就是这个原因(这里的textView大概是nil)。

    【讨论】:

    • 我的控制器 textView 设置为笔尖中的文本视图(就像我在描述中所说的那样) - 你到底在说什么?
    • 我在描述中看到了,但我们经常忘记这样做。放一个断点,看看那里的'textView'是否为'nil'。检查笔尖是否实际加载。
    【解决方案2】:

    这个setString 代码在哪里被调用?可能尚未实例化 IB 插座。你可以用一个简单的来检查这个

    if (textView) {
        NSLog(@"textView is not nil);
    } else {
        NSLog(@"textView is nil");
    }
    

    为确保在您调用它时一切都已设置好,请确保在通过 IB 创建的任何对象中调用 'awakeFromNib' 之后。

    NSNibAwaking Protocal

    【讨论】:

      【解决方案3】:

      您能否再次检查 NSTextView 属性,例如 isEditable、textColor 等,以确保它们都没有设置错误。

      除了代码看起来不错。

      【讨论】:

        【解决方案4】:

        我重新连接了 IB 中的所有内容,保存、重建并且它工作了...= [

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-06-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-03-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多