在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的数据库中存储全局本地时间变量的主要内容,如果未能解决你的问题,请参考以下文章

android如何从本地变量存储在全局变量

JS 中的全局变量 vs 本地存储 vs DOM 中的值,哪个更高效? [关闭]

线程本地存储及实现原理

是否可以将音乐文件存储在 iPhone 本地存储中?

iPhone应用程序的本地存储

联合变量宏-C语言