1

NSImageViewサブクラスのインスタンスを含むNSMutableArrayがあるCocoaアプリケーションがあります。

私がやろうとしているのは、ImageViews境界原点のx値の最小値を取得することです。

私が試してみました:

double minx =[[robots valueForKeyPath:@"@min.bounds.origin.x"] doubleValue];

と同様:

double minx =[[robots valueForKeyPath:@"@min.self.bounds.origin.x"] doubleValue];

ただし、次のエラーが発生します。

[<NSConcreteValue 0x100597a20> valueForUndefinedKey:]: this class is not key value coding-compliant for the key origin.

インターネットとNSKeyValueCodingプロトコルリファレンスを検索しましたが、問題の解決策が見つかりませんでした。NSMutableArrayをループするだけでよいことはわかっていますが、valueForKeyPathを使用する方が良い方法だと思います。

4

1 に答える 1

3

エラーは、NSRect(からの戻り値[NSImageView bounds])が単純structであり、Objective-Cオブジェクトではないためです。

NSImageViewこれらの値をサブクラス化してプロパティとして公開し、KeyValueCodingに準拠するようにすることをお勧めします。

于 2013-02-04T15:33:24.240 に答える