首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将'CGFloat‘(又名' CGSize’)发送给参数不兼容类型‘CGSize’(又名'struct CGSize‘)

将'CGFloat‘(又名' CGSize’)发送给参数不兼容类型‘CGSize’(又名'struct CGSize‘)
EN

Stack Overflow用户
提问于 2014-03-17 06:02:28
回答 1查看 7.2K关注 0票数 1

我正在使用xcode 5的最新版本。

我在下面的代码中得到了两次这个错误:

代码语言:javascript
运行
复制
 + (SemiSecretFont *)fontWithName:(NSString *)name
            size:(CGFloat) size;
 {
 //dynamically search for a class with this name
 Class klass = NSClassFromString([NSString stringWithFormat:@"%@Font", name]);
 //NSLog(@"looking for font: %@", name);
 //  NSLog(@"klass: %@", klass);
 SemiSecretFont * font = nil;
 if (klass)
font = [[[klass alloc] initWithSize:size] autorelease]; //error occurs here
 return font;
}

 - (id) fontWithSize:(CGFloat)s
 {
   Class klass = [self class];
   SemiSecretFont * f = nil;
   f = [[[klass alloc] initWithSize:s] autorelease]; //error occurs here again
   return f;
 }

错误:将'CGFloat‘(又名’浮点‘)发送给参数不兼容类型'CGSize’(又名'struct CGSize')

我还收到一个警告:多个名为'initWithSize:‘的方法找到了

更新:

这是我的initWithSize声明代码..。

代码语言:javascript
运行
复制
 //this is not meant to be instantiated directly!
 - (id) initWithSize:(CGFloat)fontsize
 {
   if ((self = [super init])) {
   size = fontsize;
   font = nil;
 }
 return self;
 }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-17 06:28:44

这似乎来自https://github.com/ericjohnson/canabalt-ios,而且

代码语言:javascript
运行
复制
+ (SemiSecretFont *)fontWithName:(NSString *)name size:(CGFloat) size;

似乎是一个工厂方法,它返回SemiSecretFont或某个子类的实例。但当编译时

代码语言:javascript
运行
复制
font = [[[klass alloc] initWithSize:size] autorelease]; //error occurs here

编译器不知道kclass是有方法的SemiSecretFont类(或子类)

代码语言:javascript
运行
复制
- (id) initWithSize:(CGFloat)fontsize;

从理论上讲,它可以是NSTextContainer的一个实例,它具有以下方法

代码语言:javascript
运行
复制
- (id)initWithSize:(CGSize)size; // designated initialiser

要解决这个歧义,您可以添加一个显式强制转换:

代码语言:javascript
运行
复制
font = [[(SemiSecretFont *)[klass alloc] initWithSize:size] autorelease];
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22447885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档