选择器 valueWithCGRect 没有已知的类方法

Posted

技术标签:

【中文标题】选择器 valueWithCGRect 没有已知的类方法【英文标题】:no known class method for selector valueWithCGRect 【发布时间】:2014-02-28 20:22:17 【问题描述】:

我正在创建 mac 应用程序来创建一个 pList 文件,其中包含要在 iPhone/iPad 中使用的视图坐标,但我收到此错误“没有已知的选择器 valueWithCGRect 的类方法”。

这是我的代码:

NSMutableArray *locations = [NSMutableArray new];
[locations addObject:[NSValue valueWithCGRect:CGRectMake(50,50,280,323)]];

你们中的任何人都知道我该如何解决这个问题,或者是否可以解决这个问题来修复我的 mac 应用程序。

非常感谢您的帮助。

【问题讨论】:

看起来很奇怪。你的代码对我来说很好。这是您代码中唯一使用此方法的地方吗? 你将如何使用位置数组,你将如何在 ios 上使用该文件? 代码在 iOS 项目中运行良好,但我正在使用我正在创建的 Mac 创建 pList。 【参考方案1】:

在 Mac OS 上,有 +[NSValue valueWithRect:]。它需要一个NSRect,但在 64 位上这只是一个 typedef 的CGRect

请记住,您不能将任意 NSValues 放入 plist。

【讨论】:

如果您还需要了解 32 位 OS X...您可以将 CGRect 转换为 NSRect...【参考方案2】:

你能检查一下你是否已经导入了 UIKit 吗? 只需添加:

#import <UIKit/UIKit.h>

你的代码应该可以工作。

【讨论】:

以上是关于选择器 valueWithCGRect 没有已知的类方法的主要内容,如果未能解决你的问题,请参考以下文章

选择器'circleOfButtons:buttonSize:radius:'没有已知的类方法

错误:选择器“isPedometerEventTrackingAvailable”没有已知的类方法

没有已知的选择器混淆类方法

选择器'application:openURL:options:sourceApplication:annotation'没有已知的类方法

错误:选择器“setScreenName:screenClass:”没有已知的类方法

使用 PushNotificationIOS 时没有已知的选择器类方法