iOS - 以笔尖显示系统时间

时间:2013-08-22 04:05:43

标签: ios objective-c uiviewcontroller uilabel

好的,我正在为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

我确信问题非常简单,感谢您的帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

通过注释掉preformSelector方法并添加NSTimer(如@rocir建议),它正确显示了时间。