CoreDataを使用してiPhoneアプリケーションをプログラミングし、コードベースをできるだけ保守可能なものにしようとしました。私は、コンパイラがname
かどうかを確認するためになるだろうCoreData NSPredicateの属性名
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K == %@", Person.name, aName];
その方法:代わりに、私のようなものを書くことができるようにしたいと思い
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@", aName];
:したがって、私は、次のようなハードコードされた文字列を避けたいですエンティティPerson
の財産であり、スペルミスを防止します。 プロパティname
タイプPerson
Person
タイプNSManagedObject
のビーイングと、自動的に私のMyApp.xcdatamodeld
からのXcodeによって生成されたオブジェクトの上で見つかりません:私はコンパイル時に次のエラーを取得していますけれども、このコードで
name
は私がGoogleで検索して、この特定の問題への答えのためにすでにかなり多くのことをアップしましたSOed Person
エンティティの単純な文字列属性です。私もproperty_getName
とNSPropertyDescription
を使用してみました。
ご協力いただきありがとうございます。
Joss
このようには動作しませんが、あなたは '@" name "'を '@ K'引数に指定する必要があります。 – Joe