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

标签 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 Protocol Reference,但没有找到解决我的问题的方法。我知道我可以循环遍历 NSMutableArray,但我认为使用 valueForKeyPath 是更好的方法。

最佳答案

错误是因为 NSRect (从 [NSImageViewbounds] 返回的值)是一个简单的 struct 而不是 Objective-C 对象.

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

关于objective-c - 使用 valueForKeyPath 获取 NSImageView 子类数组的最小 x 和 y 原点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14689557/

相关文章:

objective-c - 修改 NSScroller 的长度

objective-c - XCode/Cocoa Objective-C - 几个问题

cocoa - 将 Core Data 数据库保存到 sqlite 文件会丢失一些递归/循环关系信息

objective-c - 使用 OSX 可执行文件连接 GCDAsyncSocket 时出现问题

iphone - 直到 pushViewController 才应用外观更改

使用适用于 iOS 的 Google Maps SDK 的 iOS 应用程序崩溃并出现异常代码 : 0x0000000000000000

cocoa - KVO问题 "Cannot remove an observer"

objective-c - 如何在 ios 中使用 AVAudiorecorder 录制音频时过滤背景噪音?

iOS WebRTC 连接卡在 Ice Connection State Gathering

ios - 方法【load】是否需要调用【super load】