ユーザーが後で拡張できる、事前に入力されたsqliteデータベースを提供するアプリがあります。データベースを構築したとき、値がfloat(NSNumberにはfloatが含まれている)でなければならないようにデータベースを設定しました。データベースの一部の「セル」には値がないため、入力しませんでした。
ただし、Firefox拡張機能を使用してsqlite Dbを探索すると、次のように表示されます。
私が埋めなかった「セル」は青です。Firefoxの拡張機能の設定によると、青い「セル」は文字列を示します。赤はnil/nullを示します。
特定の属性の値をフェッチし、それらの「文字列」をフィルタリングして、次のようなことを実行しようとしています。
Entity *entity = [[self.managedObjectContext executeFetchRequest:request error:&error] objectAtIndex:0];
[entity setValue:nil forKey:@"attribute"]; // I would do a loop for all the items in the array
ただし、文字列のように見える値をフェッチする方法が見つかりません。私にできることは、float値が0の値をすべて選択することだけですが、問題は、実際には0の値があり、実際には意味があるということです。
それを行う方法について何かアイデアはありますか?
nilでないものをすべてフェッチすると、それらはそこにあります。したがって、それらはnullとは見なされません。