Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 从非IBAction方法更新标签_Cocoa_Label_Ibaction - Fatal编程技术网

Cocoa 从非IBAction方法更新标签

Cocoa 从非IBAction方法更新标签,cocoa,label,ibaction,Cocoa,Label,Ibaction,我有办法 -(NSArray *) updateLabel:(id)sender { [somelabel setStringValue:@"test"]; } 但标签从未更新过。如果我把它移到一个iAction方法中,标签就会更新。有没有办法从非IBAction方法中更新标签?谢谢。 你真的在任何地方调用这个方法吗 为什么NSArray*是返回类型 这是在哪个站台 “如果我将其移动到iAction方法”,这是否意味着将其链接到按钮 如果要将其移出iAction方法,只需调用它:[se

我有办法

-(NSArray *) updateLabel:(id)sender {

 [somelabel setStringValue:@"test"];

}
但标签从未更新过。如果我把它移到一个iAction方法中,标签就会更新。有没有办法从非IBAction方法中更新标签?谢谢。

  • 你真的在任何地方调用这个方法吗
  • 为什么
    NSArray*
    是返回类型
  • 这是在哪个站台
  • “如果我将其移动到iAction方法”,这是否意味着将其链接到按钮

如果要将其移出iAction方法,只需调用它:
[self-updateLabel:nil]

解决了这个问题。正在阻止我的主线程,因此UI没有得到更新。使用GCD更新主线程上的UI并在另一个队列上运行任务可以解决此问题。

代码中的分号错误是故意的吗?很抱歉输入错误:)如何以及何时更新标签?我从iAction方法调用updateLabel,在这里我要更新标签。是,我从IBAction方法调用这个updateLabel方法。在10.7.3。单击按钮时调用iAction方法。这将调用NSArray方法,在这里,我希望在完成任务时更新标签。