Objective-Cのカテゴリを使用して、サブクラス化の必要なしにクラスにメソッドを追加できることを理解しています。また、これらのカテゴリを使用してインスタンス変数をクラスに追加することはできません。インスタンス変数をNSDataに追加
私はインスタンス変数を追加するために使用することができ、クラスの拡張、読んを少しやったが、私は、このようなNSDataのような既存のクラスを変更するために、クラスの拡張機能を使用する方法を理解していません。
私がNSURLとのNSDataが含まれているコアデータモデルを持っている:
私の問題は次のようです。 NSDataは、NSURLのデータを表示します。ビューでデータを表示する必要がある場合は、次のチェックを行います。 --- [NSData bytes]> 0の場合、NSDataを表示します。 ---それ以外の場合は、NSURLのデータをフェッチし、それが十分に簡単
返したときにデータを表示します。しかし、私はNSURLが更新されるときに問題にぶつかります。したがって、[NSData bytes]がすでに0より大きいため、新しいイメージでNSURLパスを変更すると、新しいイメージを取得するための追加呼び出しは行われません。
私は何をしたいことはNSDataのにインスタンス変数を追加しているが、データがどこから来るかについての情報を保持しますURLKeyと呼ばれます。 CoreDataを使用しているためNSDataをサブクラス化できません。
誰でも簡単な解決策を知っていますか?多分、クラス拡張の理解にギャップがあるかもしれません。あるいは、単純な方法がないかもしれません。
NSDataとNSURLの両方を認識している管理オブジェクトでチェックを行うことはできませんか? –
私はできますが、私はこの機能を抽象化して特定のモデルに依存しないようにしたいと思います。 –