我想檢查用戶是否正在使用最新版本的應用程序。如果是這樣,我應該着色一些細胞的背景。如何使用NSUserDefaults檢查應用程序的最新版本
這是我使用的代碼:這裏我要檢查
appDelegate.m
NSString *lastVersion = [[NSUserDefaults standardUserDefaults] objectForKey:@"lastVer"];
方法:
NSString *lastVersion = (NSString *) [[NSUserDefaults standardUserDefaults] objectForKey:@"lastVer"];
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
lastVersion = @"1.3.4";
if(![lastVersion isEqualToString:version]){
cell.backgroundColor = [UIColor yellowColor]; ;
cell.imageView.image = [UIImage imageNamed:@"image.png"];
}
else {
cell.imageView.image = nil;
cell.backgroundColor = [UIColor whiteColor];
}
}
我這樣做對嗎?我的代碼是檢查最新版本還是?如何在模擬器\設備上模擬此行爲?
我想要做的是檢查用戶是否使用最新版本的應用程序,以調用另一個NSUserDefaults鍵以顯示我的tableView的單元格與不同的背景顏色。
編輯
我使用,如果用戶使用的是最新版本的我的應用程序,並改變細胞的後臺代碼,如果用戶使用的應用程序少於三次:
NSString *cellValue = cell.textLabel.text;
NSNumber *runNumber = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"runNum"];
NSString *lastVersion = [[NSUserDefaults standardUserDefaults] objectForKey:@"lastVer"];
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
if (!runNumber) {
runNumber = [NSNumber numberWithInt:0];
[[NSUserDefaults standardUserDefaults] setObject:runNumber forKey:@"runNum"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
if([lastVersion isEqualToString:version]){ //check if the user is using the latest version
if ([runNumber intValue] < 4) { //check if user has used the app less than 3 times
if ([cellValue isEqual: "someText"]){
cell.backgroundColor = [UIColor yellowColor]; ;
cell.imageView.image = [UIImage imageNamed:@"image.png"];
}
else {
cell.imageView.image = nil;
cell.backgroundColor = [UIColor whiteColor];
}
}
else {
cell.imageView.image = nil;
cell.backgroundColor = [UIColor whiteColor];
}
}
}
的結果,從中我可以比較的版本,對不對?但是,使用代碼時出現錯誤:'語義問題:使用不兼容類型'void'的表達式初始化'NSString *'。正如你在上面看到的,我糾正了我的代碼,並且通過爲lastVersion分配最後的版本號來得到這個工作。 – Phillip 2012-01-12 16:01:33
當然。我不太瞭解你在做什麼,但你可以確定比較包含數字的字符串。 – 2012-01-12 16:04:43
我相信你正在使用你的代碼和我的混合代碼,我修正了我的問題,使其更加清晰。 – 2012-01-12 16:05:13