在iOS中比较允许用户再次发布的时间

在iOS中比较允许用户再次发布的时间,ios,objective-c,datetime,time,Ios,Objective C,Datetime,Time,我正在开发一个示例应用程序,它向服务器发布一个字符串。我想允许用户在上一篇文章发表两分钟后发表文章。我可以在服务器端执行此操作,但当用户的internet连接速度较慢时,可能需要很长时间才能从服务器获得响应。所以,我计划在客户端(iPhone)上实现这一点。我只想比较一下当前帖子和以前帖子的时间。谁能帮我节省上一篇文章的时间。很抱歉,如果有人觉得这个问题很愚蠢。这需要从架构的角度重新思考 如果用户发帖,那么您可以计算时间。。。但是如果用户试图发布,响应失败,那么您需要再次重置时间。因此,这与您担

我正在开发一个示例应用程序,它向服务器发布一个字符串。我想允许用户在上一篇文章发表两分钟后发表文章。我可以在服务器端执行此操作,但当用户的internet连接速度较慢时,可能需要很长时间才能从服务器获得响应。所以,我计划在客户端(iPhone)上实现这一点。我只想比较一下当前帖子和以前帖子的时间。谁能帮我节省上一篇文章的时间。很抱歉,如果有人觉得这个问题很愚蠢。

这需要从架构的角度重新思考

如果用户发帖,那么您可以计算时间。。。但是如果用户试图发布,响应失败,那么您需要再次重置时间。因此,这与您担心服务器的响应可能需要很长时间是一样的

假设一切顺利:

你需要知道这篇文章什么时候成功发布。然后您需要得到响应并将时间节省到某个地方,可以告诉我userdefaults或plist

这将有助于:-

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];

NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970];
NSString* timeStr = [NSString stringWithFormat:@"%f", currentTime];

float recentPostTime = [[defaults objectForKey:@"Recent_Post_Time"] floatValue];

if(currentTime-recentPostTime > 120.0f)
{
    //Post to server here..

    //Update Recent Post Time in user defaults
    [defaults setObject:timeStr forKey:@"Recent_Post_Time"];
    [defaults synchronize];
}
else
{
    //Alert the user that he/she can't post within 2 minutes again
}

您可以使用NSUserDefaults来保存以前的时间。NSUserDefaults可以存储NSDate对象,因此无需将日期转换为字符串。非常感谢,我将继续处理您所说的内容,这更有意义……;)