objective-c – 为什么NSRect和CGRect是不兼容的类型?

objective-c – 为什么NSRect和CGRect是不兼容的类型?,第1张

概述好吧,我被告知错误: error: incompatible type for argument 1 of ‘initWithFrame:’ 这是导致它的原因: operationLabel = [[NSTextField alloc] initWithFrame:CGRectMake(0, self.frame.size.height / 2 - (40 * 3), self.frame.siz 好吧,我被告知错误: @H_502_7@

@H_502_7@

@H_502_7@error: incompatible type for argument
1 of ‘initWithFrame:’

@H_502_7@这是导致它的原因:

@H_502_7@

operationLabel = [[NSTextFIEld alloc] initWithFrame:CGRectMake(0,self.frame.size.height / 2 - (40 * 3),self.frame.size.wIDth,100)];
@H_502_7@定义是:

@H_502_7@

- (ID)initWithFrame:(NSRect)frameRect;
@H_502_7@所以第一个参数是NSRect,让我们检查一下:

@H_502_7@

typedef CGRect NSRect;
@H_502_7@怎么会导致错误?它们的名称相同,名称相同!

解决方法 NSRect与CGRect的类型相同,如果构建用于iOS,64位Mac架构或32位Mac架构,宏NS_BUILD_32_liKE_64在命令行或前缀头中定义为1. @H_502_7@

@H_502_7@或者,引用NSGeometry.h:

@H_502_7@

#if __LP64__ || TARGET_OS_EMbedDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_liKE_64
总结

以上是内存溢出为你收集整理的objective-c – 为什么NSRect和CGRect是不兼容的类型?全部内容,希望文章能够帮你解决objective-c – 为什么NSRect和CGRect是不兼容的类型?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1023096.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存