iOS将变量添加到标签文本中

时间:2014-05-11 16:46:22

标签: ios variables nsstring uilabel

我一直在使用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

你能帮我弄清楚我需要做些什么才能让它发挥作用吗?

1 个答案:

答案 0 :(得分:1)

未显示变量的原因是由于没有格式说明符。我也很惊讶您没有收到上述代码的编译器警告或错误。

这行代码:

 username.text = [NSString stringWithFormat:@"Usuari: ", _usuari];

应该这样写 - 不是这样吗?

    username.text = [NSString stringWithFormat:@"Usuari:%@ ", _usuari];

由于_usuari是变量而%@是格式说明符,因此要放置该变量。

在此之后:ursername.text应该打印出来:Usuari:变量值