使用valueForKeyPath获取NSImageView子类数组的最小x和y原点

时间:2013-02-04 15:07:36

标签: objective-c cocoa

我有一个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将是我猜的更好的方法。

1 个答案:

答案 0 :(得分:3)

错误是因为NSRect(来自[NSImageView bounds]的返回值)是一个简单的struct而不是Objective-C对象。

我建议继承NSImageView子类并将这些值公开为属性,以便它们符合键值编码。