key-value-observing

    0

    1答えて

    私は、KVOが観測されているすべての値を保持している理由を理解しようとすると、本当に苦痛を感じています。 シナリオ:私は弱い参照を持つNSMutableArrayを持っています。 (保持と解放の両方にNULLを持つCFArrayCreateMutableとCallbackで設定します)。追加されたオブジェクトは決して保持/解放されません。 NSMutableArrayの値を監視するNSArrayC

    7

    3答えて

    プレーンなクラスにはNSMutableSetプロパティがあります。オブジェクトがセットに追加されたり、セットから削除されたりするときはいつでも、カスタムコードを実行したい。私はクラスにいくつかのaddObjectToSet:のようなメソッドを書くことができることを知っていますが、セット上に直接KVOを持つもっと洗練されたソリューションがあるのだろうかと思っていました。 NSSetは、オブザーバを追

    5

    2答えて

    コアデータとKVCは比較的新しいですが、コアデータオブジェクトの変更についてリスナーを登録する際の参考にしたいと思います。状況は次のとおりです。 NSManagedObjectはPatientと、もう1つはMedicationと呼ばれています。 Patientは、多くはMedicationsであり、MedicationはstartOnとendOnの日付を持つことがあります。 Medicationす

    2

    3答えて

    現在、私のシングルトンのプロパティが変更されたときに、iOSアプリケーションのいくつかのオブジェクトに警告するためにKVOまたはNSNotificationsを使用するかどうか検討しています。 変更を通知する必要があるすべてのオブジェクトにシングルトンの参照があるため、KVOは自然な解決策のように見えます。 しかし、私はシングルトンや複数のオブザーバーでKVOを使用したことはありません。そのパター

    0

    1答えて

    プロキシオブジェクトにオブザーバを設定し、プロキシオブジェクトが指しているものを変更しても、実際のオブジェクトの変更を観察できるはずですか? この例では、この例をよく説明しています。以下を考慮する。ヘッダで :NIB法から初期化またはアウェイクで @interface MyController : NSObject { MyWidgetModel * aProxyObject; }

    5

    1答えて

    私のアプリは、iPhoneのアルバムリストと特定のアルバムのすべての写真を取得したいと考えています。 アプリでは、iPhoneの1つのアルバムに写真を列挙します。 あるアルバムの写真がたくさんあるかもしれないので、私はGCD:dispatch_asyncを使ってパフォーマンスを考えています。しかし、KVOによって呼び出されるtableviewセルが更新されると、常にクラッシュします。 KVOかGC

    14

    2答えて

    、私が観察していたフレームの変更: - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if (object == self && [keyPath isEqualToString:@"f

    7

    1答えて

    私はKVOに関する簡単な質問があります。 NSArrayの場合、追加が必要な場合は、次のことができます。 NSIndexSet* set = [NSIndexSet indexSetWithIndex:[someIndex integerValue]]; [self willChange:NSKeyValueChangeInsertion valuesAtIndexes:set fo

    5

    1答えて

    私はそれでdataArrayと定義されselectedIndexesNSIndexSetがFile's Ownerだ持っていますNSCollectionViewいるんです。 (私はそのプロジェクトでMonoMacと一緒に作業していますので、単純なNSArrayControllerで問題を抱えていましたので、自分でソースを実装することにしました)。コントローラを初期化するときに、dataArray

    2

    1答えて

    私は私の財産(アーティスト)@synthesize場合は、すべてがキーパスartist.name コール[このmyobjのsetValue:newArtist forKey: "アーティスト" @]のためにオブザーバーを追加 正常に動作します。 成功。 - (void)setArtist:(GVArtist *)artist { GVArtist *oldArtist = _artis