【发布时间】:2015-04-02 07:20:24
【问题描述】:
在我从通知中回拨后,我试图更改按钮的标题,但它根本没有响应。我检查了它不是零并检查了我正在分配的文本,一切都很好。我将属性类型设为strong 而不是weak,但没有成功。
- (void) setButtonTitleFromSelectedSearchResult:(NSNotification *)notif
{
[self popController];
self.sourceMapItem = [[notif userInfo] valueForKey:@"SelectedResult"];
NSLog(@"The Selected Result is: %@", self.sourceMapItem.name);
//Testing
NSLog(@"%@", self.fromButton); // check it's not nil
[self.fromButton setTitle:self.sourceMapItem.name];
}
【问题讨论】:
-
只是为了澄清一下:该方法确实被调用了,您在控制台中看到两个
NSLog语句的输出?另外,popController是做什么的?听起来它正在关闭当前的界面控制器,因此无论如何都不会更改按钮。 -
是的,上面的代码被调用并且一切运行正常,给出了正确的 NSLogs 的结果,但是按钮并没有改变它的标题。
[self popController]弹出一个控制器,该控制器之前在用户选择一个选项的地方出现,这是发布通知的位置,而当前控制器(self.fromButton所在的位置)弹出该控制器,然后应该根据用户已选择。不用担心,即使它不存在,按钮也不会更改其标题。
标签: ios title watchkit wkinterfaceobject