0

さて、私は のアプリを構築しiOSていますUILabel. ViewController.hファイル内のコードは次のとおりです。

 @interface ViewController : UIViewController <UIApplicationDelegate>

 @property (strong, nonatomic) IBOutlet UILabel *timeLabelStandbyScreen;

 -(void)updateLabel;

 -(void)updateTime;

 @end

 @interface updateTime : NSDate

 @end

私は初めてでObj-C、問題を解決できるかどうかを確認するためにそれをいじっていました。このファイルではすべて問題ありません。問題があるのは .m です。

ViewController.m:

@interface ViewController ()

 @end

 @implementation ViewController

-(void)viewDidLoad
 {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [self updateLabel];
 }

 -(void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
 }

 -(void)updateTime
 {
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"hh:mm"];
    _timeLabelStandbyScreen.text = [dateFormat stringFromDate: [NSDate date]];

    [self preformSelector:@selector(updateTime) withObject:self afterDelay:1.0];
 }

 @end

問題は本当に簡単だと思います。ご協力いただきありがとうございます。ありがとう!

4

1 に答える 1

0

preformSelector メソッドをコメントアウトし、(@rocir が提案したように) NSTimer を追加することで、時刻が正しく表示されました。

于 2013-08-22T05:32:47.903 に答える