标签栏视图无法更改屏幕上的值

时间:2011-12-16 17:25:35

标签: iphone objective-c ios uitabbarcontroller background-process

我有一个接收网络消息的功能,应该在一个视图中显示这些消息,并将自己的控制器作为选项卡式应用程序的一部分。

建立连接后,无论视图(或标签)是否为活动视图,都会收到消息。

虽然我收到并可以处理当前视图中的消息,但我无法在同一功能中更改屏幕上变量的文本值。 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:"]);
}

1 个答案:

答案 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;

}

修复了问题并允许我根据需要设置所选对象的文本值。