我一直在使用iOS应用,而且我在其中一个屏幕上遇到了一些并发症。
此屏幕标题为" about",只有2个标签:他们应该显示当前的用户名和时间。
标签'文本加载得很好,但我无法通过用户名和当前时间向我显示变量。
这是我的代码:
About.h
@interface About : UIViewController
@property (weak) IBOutlet UILabel * username;
@property (weak) IBOutlet UILabel * date;
@property (strong, nonatomic) NSString * usuari;
@property (strong, nonatomic) NSString * data;
@property (strong, nonatomic) NSString * name;
@property (strong, nonatomic) NSString * currentTime;
About.m
#import "About.h"
@interface About()
@end
@implementation About
- (void)viewDidLoad
{
[super viewDidLoad];
UILabel * username = [[UILabel alloc] initWithFrame:CGRectMake(162, 106, 150, 72)];
[self.view addSubview: username];
username.text = @"Usuari: ";
username.numberOfLines = 4;
username.textColor = [UIColor blackColor];
username.text = [NSString stringWithFormat:@"Usuari: ", _usuari];
UILabel * date = [[UILabel alloc] initWithFrame:CGRectMake(160, 261, 1488, 44)];
[self.view addSubview: date];
date.text = @"Hora: ";
date.numberOfLines = 4;
date.textColor = [UIColor blackColor];
date.text = [NSString stringWithFormat:@"Hora: ", _currentTime];
}
-(void) gettingUser
{
[[UIDevice currentDevice] name];
self.username.text = self.name;
}
-(void) gettingTime
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
NSString *currentTime = [dateFormatter stringFromDate:[NSDate date]];
self.date.text = self.currentTime;
//self.date.text = [NSDate date];
//NSTimer schedule interval
//NSDateFormatter alloc
}
@end
你能帮我弄清楚我需要做些什么才能让它发挥作用吗?
答案 0 :(得分:1)
未显示变量的原因是由于没有格式说明符。我也很惊讶您没有收到上述代码的编译器警告或错误。
这行代码:
username.text = [NSString stringWithFormat:@"Usuari: ", _usuari];
应该这样写 - 不是这样吗?
username.text = [NSString stringWithFormat:@"Usuari:%@ ", _usuari];
由于_usuari
是变量而%@
是格式说明符,因此要放置该变量。
在此之后:ursername.text
应该打印出来:Usuari:变量值