在iphone的数据库中存储全局本地时间变量
Posted
技术标签:
【中文标题】在iphone的数据库中存储全局本地时间变量【英文标题】:Store global local time variables in the database in iphone 【发布时间】:2011-07-21 15:04:10 【问题描述】:我一直试图以 NSDATE 的形式存储全局变量,但它似乎总是出错。我试图在应用程序开始时获取当前日期,然后在应用程序在数据库中完成后存储该日期。 下载当前日期的原因:下载数据可能需要一些时间,并且在这之间会丢失几秒钟。
在 AppDelegate.h 中
NSDate *today;
@property (nonatomic, retain) NSDate *today;
在 AppDelegate.m 中
today = [NSDate date];
当我在视图控制器中查看今天的日期时,它停止运行。
在 ViewController.m 中
AppDelegate *appDelegate= [[UIApplication sharedApplication] delegate];
[appDelegate today]; // Error here
从委托方法中检索日期变量的正确方法是什么?
【问题讨论】:
【参考方案1】:在您的代码示例中,您似乎正在重新定义今天。但是你今天不应该直接被赋值,你需要像这样设置属性。
self.today = [NSDate date];
原因是[NSDate date]
是一个自动释放的对象,当您使用该属性时,它会为您正确保留它。
【讨论】:
我已经更新了我的代码。很抱歉,我在今天的字段中写错了。【参考方案2】:您需要分配今天并使用自我声明:
//In AppDelegate.m
today = [[NSDate alloc] init];
self.today = [NSDate date];
而不是:NSDate *today = [NSDate date];
这样你正在覆盖实例变量
【讨论】:
今天不需要分配,属性会处理的以上是关于在iphone的数据库中存储全局本地时间变量的主要内容,如果未能解决你的问题,请参考以下文章