我在这里有一个类,它将字符串值传递给另一个具有 UILabel 的类并将其显示给该类。但是我不能将它显示到另一个类的标签上。我以两种方式做到了这一点..
1)我的第一种方式,直接从另一个类调用标签。在我的第一个类上,在方法上
static void on_status_state(NSString *) stats
{
DisplayViewController* display = [[DisplayViewController alloc] init];
display.statusLabel.text = @"Sample Display";
}
在包含 UILabel 的类上。在 DisplayConn.h
@property (retain, nonatomic) IBOutlet UILabel *statusLabel;
2)我的第二种方式,调用方法并将值传递给我的第一个类的参数,在方法上
static void on_status_state(NSString *) stats
{
DisplayViewController* display = [[DisplayViewController alloc] autorelease];
[display toReceiveStatus:@"Sample Label"];
}
在包含 UILabel 的类上。在 DisplayConn.h
@property (retain, nonatomic) IBOutlet UILabel *statusLabel;
然后在 DisplayConn.m
- (void)viewDidLoad
{
[super viewDidLoad];
}
- (void)toReceiveStatus:(NSString *) stats
{
self.statusLabel.text = stats;
NSLog(@"DISPLAY %@",stats);
}
第二种方法似乎有效,因为显示了包含该值的日志,但是该值仍未显示到标签('statusLabel')。标签的显示会在运行时不时更改。应该是什么原因?