2013-09-28 80 views
0

我想显示日期,我制作的应用程序第一次在视图中打开(这是目前整个应用程序中唯一的视图)。显示第一次打开应用程序的日期

什么样的对象在我的视图中最好用来显示日期以及如何在该位置显示日期?

+0

您是否希望在应用程序运行时始终显示此日期值?应用程序如何工作?它有多个屏幕/视图控制器吗? – bneely

+0

是的,我希望值在运行时始终显示,因为它会在用户开始使用它时提醒用户。对于1.0应用程序将不会有多个屏幕。 – herbigt

回答

2

在你的AppDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 

    if(![[NSUserDefaults standardUserDefaults] objectForKey:@"firstOpenDate"]) 
    { 
     NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
     [dateFormatter setDateStyle:NSDateFormatterLongStyle]; 
     [[NSUserDefaults standardUserDefaults] setObject:[dateFormatter stringFromDate:[NSDate date]] forKey:@"firstOpenDate"]; 
    } 
    NSLog(@"First Opened: %@",[[NSUserDefaults standardUserDefaults] objectForKey:@"firstOpenDate"]); 


    return YES; 
} 

如果你想其他格式简单地改变setDateStyle:NSDateFormatterLongStyle。您可以从任何地方查询NSUserDefaults

在ViewController.m

- (void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hi. You first opened the app on" message:[[NSUserDefaults standardUserDefaults] objectForKey:@"firstOpenDate"] delegate:nil cancelButtonTitle:@"Thanks" otherButtonTitles:nil]; 
    [alert show]; 
} 
+0

好的,谢谢。我该如何在viewcontroller中显示这个值? – herbigt

+0

看到编辑,应该这样做。 – mmackh

+0

好吧,这很酷:)但我想直接在标签下显示日期,文本是“days without xyz since since”,因为“我已经在我的viewcontroller上创建了。我怎么能得到这个? – herbigt

0

第一次启动,请检查您保存日期使用objectForKey用户的默认值。如果不是,保存今天的日期

[NSDate的日期]

为用户默认使用的setObject:forKey:

然后落入代码读取保存的日期和比较,看看有多少天过去那种之间日期和今天。查看NSCalendar方法组件:fromDate:toDate:options

您可能想要在Xcode中执行“执行日历计算”并搜索结果章节。

相关问题