1

我有一个 Cocoa-Application,其中有一个 NSMutableArray,其中包含 NSImageView 子类的实例。

我要做的是获取 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对这些值进行子类化并将其公开为属性,以便它们符合键值编码。

于 2013-02-04T15:33:24.240 回答