将全局本地时间变量存储在iphone的数据库中

发布于 2024-11-25 08:44:36 字数 527 浏览 1 评论 0原文

我一直在尝试以 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 

从委托方法检索日期变量的正确方法是什么?

I have been trying to store global variables in form of NSDATE but it seems it always gives error. I am trying to grab the current date at the start of the application and then store that date once the application is finished in the database.
Reason to download the current date: Downloading data which may take some time and will lose some seconds in between.

In AppDelegate.h

NSDate *today;

@property (nonatomic, retain) NSDate *today;

In AppDelegate.m

today = [NSDate date];

When I view the date today in view controller, it stops functioning.

In ViewController.m

AppDelegate *appDelegate= [[UIApplication sharedApplication] delegate];
[appDelegate today]; // Error here 

What is the correct way in retrieving the date variable from delegate method?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

治碍 2024-12-02 08:44:36

在您的代码示例中,您今天似乎正在重新定义。但无论哪种方式,今天都不应该直接分配,您需要像这样设置属性。

self.today = [NSDate date];

原因是因为 [NSDate date] 是一个自动释放的对象,当您使用该属性时,它会正确地为您保留它。

In your code example it looks like you are redefining today. But you should not be assigned today directly either way, you need to set the property like this.

self.today = [NSDate date];

The reason is because [NSDate date] is an autoreleased object and when you use the property it will properly retain it for you.

世态炎凉 2024-12-02 08:44:36

您需要分配today并使用自我声明:

//In AppDelegate.m
today = [[NSDate alloc] init];
self.today = [NSDate date];

而不是:NSDate *today = [NSDate date];这样您将覆盖实例变量

You need to alloc today and use the self statment:

//In AppDelegate.m
today = [[NSDate alloc] init];
self.today = [NSDate date];

and not: NSDate *today = [NSDate date]; like this you are overwriting the instance variable

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文