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

时间:2013-12-18 07:53:17

标签: ios objective-c datetime time

我正在开发一个将字符串发布到服务器的示例应用程序。我想让用户在上一篇文章后仅发布两分钟。我可以在服务器端执行此操作,但是当用户连接速度较慢时,可能需要很长时间才能从服务器获得响应。所以,我打算在客户端(iPhone)上这样做。我只想比较当前和上一篇文章之间的时间。任何人都可以帮我节省上一篇文章的时间。很抱歉,如果有人发现这个问题很愚蠢。

2 个答案:

答案 0 :(得分:1)

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

如果用户发布,那么您可以计算时间...但是如果用户将尝试发布,则响应失败,那么您需要重置时间。所以这就像你担心来自服务器的响应可能需要很长时间。

假设一切顺利,那么:

您需要知道帖子何时成功发布。然后你需要得到响应,并节省时间,我可以用户默认或plist。

答案 1 :(得分:1)

这应该有所帮助: -

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
}