如何使 NSUserDefaults 数据持续 3 个会话

发布于 2024-12-07 03:53:36 字数 766 浏览 2 评论 0原文

我有这段代码

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];  
        if (![defaults objectForKey:@"firstRuns"]){

            [defaults setObject:[NSDate date] forKey:@"firstRuns"];
            if ([cellValue isEqual: @"First"] || [cellValue isEqual: @"Primo"]){   
                cell.backgroundColor = [UIColor yellowColor];
            } else {
                cell.backgroundColor = [UIColor whiteColor];
            }
        }
        [[NSUserDefaults standardUserDefaults] synchronize];

,以便

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

将名为“Primo”或“First”的行的背景设置为黄色,以便用户第一次使用。

我希望黄色背景至少持续 3 个会话,我该怎么做?谢谢

I have this piece of code

 NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];  
        if (![defaults objectForKey:@"firstRuns"]){

            [defaults setObject:[NSDate date] forKey:@"firstRuns"];
            if ([cellValue isEqual: @"First"] || [cellValue isEqual: @"Primo"]){   
                cell.backgroundColor = [UIColor yellowColor];
            } else {
                cell.backgroundColor = [UIColor whiteColor];
            }
        }
        [[NSUserDefaults standardUserDefaults] synchronize];

in

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

in order that the background of the row called "Primo" or "First" is set to yellow for the first use of the user.

I want the yellow background to last at least 3 sessions, how can i do that? Thanks

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

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

发布评论

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

评论(2

弥枳 2024-12-14 03:53:36

像这样的东西:

NSNumber *runNumber = [[NSUserDefaults standardUserDefaults] objectForKey:@"runNum"];
if (runNumber) {
    if ([runNumber intValue] < 3) {
        if ([cellValue isEqual:@"First"] || [cellValue isEqual:@"Primo"]) {
            cell.backgroundColor = [UIColor yellowColor];
        } else {
            cell.backgroundColor = [UIColor whiteColor];
        }
        [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:[runNumber intValue] + 1] forKey:@"runNum"];
    } else {
        cell.backgroundColor = [UIColor whiteColor];
    }
} else {
    [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:1] forKey:@"runNum"];
    cell.backgroundColor = [UIColor whiteColor];
}
[[NSUserDefaults standardUserDefaults] synchronize]; 

Something like:

NSNumber *runNumber = [[NSUserDefaults standardUserDefaults] objectForKey:@"runNum"];
if (runNumber) {
    if ([runNumber intValue] < 3) {
        if ([cellValue isEqual:@"First"] || [cellValue isEqual:@"Primo"]) {
            cell.backgroundColor = [UIColor yellowColor];
        } else {
            cell.backgroundColor = [UIColor whiteColor];
        }
        [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:[runNumber intValue] + 1] forKey:@"runNum"];
    } else {
        cell.backgroundColor = [UIColor whiteColor];
    }
} else {
    [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:1] forKey:@"runNum"];
    cell.backgroundColor = [UIColor whiteColor];
}
[[NSUserDefaults standardUserDefaults] synchronize]; 
清风挽心 2024-12-14 03:53:36

使用 applicationDidLaunch 中的 UserDefaults:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];    
NSInteger sessionCount = [[defaults objectForKey:@"sessionCount"] intValue]; 

sessionCount++;

[defaults setInteger:sessionCount forKey:@"sessionCount"];

在 tableview 会话中使用该值来触发黄色或白色

Use the UserDefaults in applicationDidLaunch:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];    
NSInteger sessionCount = [[defaults objectForKey:@"sessionCount"] intValue]; 

sessionCount++;

[defaults setInteger:sessionCount forKey:@"sessionCount"];

Use that value in your tableview session to trigger yellow or white

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