gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 00:25:28 24 4
gpt4 key购买 nike

SGView 中的函数 circleOfButtons:buttonSize:radius:(下文)是从 ParentView 调用的,我希望 ParentViewParentViewSGView 发送消息时定义 SGView 中的值。

这是实现文件。

#import <UIKit/UIKit.h>
#import “ParentView.h"
#import "SGView.h"

@implementation ParentView : UIView

- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:[UIScreen mainScreen].bounds];
if (self) {

self.backgroundColor = [UIColor lightGrayColor];

int count = 5;
CGFloat size = 80.0;
CGFloat radius = 68;

SGView *myView = [SGView circleOfButtons:count buttonSize:size radius:radius];
[self addSubview:myView];
}
return self;
}

SGView将多个UIButton排列成一个圈,本质上是这样的

#import "SGView.h"

@implementation SGView : UIView

+(id)circleOfButtons:(int)buttonCount buttonSize:(CGFloat)buttonSize circleRadius:(CGFloat)circleRadius
{
UIView *multipleViews = [self new];

// … circular geometry …
[multipleViews addSubview:circleButton];
}
return multipleViews;
}
@end

错误消息 - 在 SGView *myView 行 - 是:

No known class method for selector 'circleOfButtons:buttonSize:radius:'

我的猜测是编译器需要在接口(interface)中声明。我正在处理 these tutorials试图决定接口(interface)文件应该是什么样子,虽然有 6 个 SO 问题可能已经回答了我的问题,但只有 this one有一个似乎模糊相关的例子。

这是我的接口(interface)文件。

#import <UIKit/UIKit.h>
#import "ViewController.h"
#import "SGView.h"

@interface ParentView : UIView {
}

+(id)circleOfButtons:(int)buttonCount buttonSize:(CGFloat)buttonSize circleRadius:(CGFloat)circleRadius;

@end

谁能举个例子说明这个接口(interface)文件应该是什么样子的?谢谢。

更新

这里是SGView.h(修订版)

#import <UIKit/UIKit.h>
@interface SGView : UIView {
}
+(id)circleOfButtons:(int)buttonCount buttonSize:(CGFloat)buttonSize circleRadius:(CGFloat)circleRadius;
@end

我也注意到if语句

        SGView *myView              = [SGView circleOfButtons:count buttonSize:size radius:radius];

改为

        SGView *myView              = [self circleOfButtons:count buttonSize:size radius:radius];

错误变为

No visible @interface for 'ParentView' declares the selector 'circleOfButtons:buttonSize:radius:'

以前是

No known class method for selector 'circleOfButtons:buttonSize:radius:'

最佳答案

你在打电话

  SGView *myView              = [SGView circleOfButtons:count buttonSize:size radius:radius];

应该是

SGView *myView              = [SGView circleOfButtons:count buttonSize:size circleRadius:radius];

关于ios - 选择器 'circleOfButtons:buttonSize:radius:' 没有已知的类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43138769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com