私のモデルオブジェクトは、SQLiteデータベースから遅延ロードされます。理由は問いませんが、コードでQuickLiteを使用してオブジェクトを設定しています。つまり、アクセサーを初めて使用する前にいくつかのハウスキーピングを実行する必要があります。@ synthesize'dアクセサの前に操作を実行する方法は?
私は、必要であれば、私は単純に、DBからオブジェクトを埋めるために、これらの2つの方法をオーバーロードすることができるようにvalueForKey:
とsetValue:forKey:
は、@synthesize
D「のアクセサによって呼び出されるであろうと、単純に、と思いました。残念ながら、それは動作しません: 'dアクセサは明らかに表現された値を取得/設定するためにKVCを使用しません。
私の質問は次のとおりです。@property
にアクセスする前に、すべてのゲッター/セッターを書かずにコードを呼び出す方法はありますか?
私はこれをやってみたいと思うし、アプリの次のメジャーリリースのためにそれを行うだろうが、今問題は、私がレガシーコードを扱っていることと、私は底からそれをリファクタリングしたくないということですアップ。どのようにコアデータパスをダウンせずにこの種の動作を取得するための任意のアイデア? – DaGaMs
私の更新された答えの半分焼いたアイデア。 – jrturton
ありがとう、それは面白いハックです...確かに私はその道を行くだろうが、それは私の質問に有効な答えです。 – DaGaMs