ユーザーが最新バージョンのアプリを使用しているかどうかを確認したいと思います。もしそうなら、私はいくつかの細胞の背景色を付ける必要があります。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キーを呼び出すために、ユーザーがアプリの最新バージョンを使用しているかどうかを確認することです。ユーザーが自分のアプリケーションの最新バージョンを使用している場合、私はセルの背景を変更するために使用してい
EDIT
コードユーザーが3回未満のアプリを使用している場合:
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];
}
}
}
で、このテストの結果に対して、これを比較し、それから、私は右、バージョンを比較することができるでしょうか?しかし、あなたのコードを使ってエラーが発生しています: 'Semantic Issue: 'NSString *'を互換性のない型 'void'の式で初期化する。上記のように、私は自分のコードを修正して、lastVersionに最後のバージョン番号を代入することでそれを得ることができます。 – Phillip
私はあなたがしていることについて十分に分かっていませんが、数値を含む文字列を比較することはできます。 –
あなたのコードと私のハイブリッドを使用していると確信しています。 –