我有一个接收网络消息的功能,应该在一个视图中显示这些消息,并将自己的控制器作为选项卡式应用程序的一部分。
建立连接后,无论视图(或标签)是否为活动视图,都会收到消息。
虽然我收到并可以处理当前视图中的消息,但我无法在同一功能中更改屏幕上变量的文本值。 NSLog输出完全正常的处理,唯一的例外是我无法将结果字符串分配给标签和文本框的文本值。没有标签控制器,这一切都正常 这是功能:
- (void)displayMessage:(NSDictionary*)message
{
[activeProcess setText:[[message objectForKey:@"MSG1:"] uppercaseString]];
[processDetail setText: [message objectForKey:@"MSG2:"]];
NSLog(@"Process: %@\n Detail: %@",[message objectForKey:@"MSG1:"],[message objectForKey:@"MSG2:"]);
}
答案 0 :(得分:0)
Kjuly - 谢谢你的建议。在这种情况下尝试没有任何影响。
但是,我确实发现了问题所在:尽管视图处于活动状态并且NSLog确实输出正确的调试屏幕,但是我需要在标题中添加明确的指令并添加 < em> UITextViewDelegate 到定义并将其添加到 viewDidLoad 方法:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
activeProcess.delegate = self;
}
修复了问题并允许我根据需要设置所选对象的文本值。