1

我几乎绝望,因为我的设置没有正确保存。

当用户选择一个单元格时,我在 UITableView 中保存一个设置:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {


checkedCell = indexPath;
NSUInteger row1 = [indexPath row];
NSString *TD = [listData objectAtIndex:row1];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

[defaults setObject:TD forKey:@"TestData"];
[defaults synchronize];
NSLog(@"Save");
[tableView reloadData];

}

在另一个 ViewController 中,我加载数据并进行 if-else 语句:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];


NSString *TD = [defaults objectForKey:@"TestData"];

NSLog(@"%@",TD);

if (TD == @"0") {
        NSString *NTD = @"TRUE";
    }
    else {
        NSString *NTD = @"FALSE";

    }
}

我看到 NSLog 为 0 但 NTD 为 FALSE。

4

1 回答 1

1

使 if 条件像这样

if ([TD isEqualToString:@"0"]) {

    NSString *NTD = @"TRUE";

}
else {

    NSString *NTD = @"FALSE";

}

这肯定会有所帮助

于 2012-05-03T10:44:30.473 回答