选择器 'circleOfButtons:buttonSize:radius:' 没有已知的 class 方法
No known class method for selector 'circleOfButtons:buttonSize:radius:'
SGView
中的一个函数circleOfButtons:buttonSize:radius:
(下面)是从ParentView
调用的,我希望ParentView
定义每当 ParentView
向 SGView
.
发送消息时,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:'
我的猜测是编译器需要在接口中声明。我正在研究 these tutorials trying to decide what the interface file should look like and though there are 6 SO questions that may already have answered my question, only this one 有一个似乎不太相关的例子。
这是我的界面文件。
#import <UIKit/UIKit.h>
#import "ViewController.h"
#import "SGView.h"
@interface ParentView : UIView {
}
+(id)circleOfButtons:(int)buttonCount buttonSize:(CGFloat)buttonSize circleRadius:(CGFloat)circleRadius;
@end
谁能举个例子说明这个接口文件应该是什么样子的?谢谢。
更新
这里是SGView.h
(已修改)
#import <UIKit/UIKit.h>
@interface SGView : UIView {
}
+(id)circleOfButtons:(int)buttonCount buttonSize:(CGFloat)buttonSize circleRadius:(CGFloat)circleRadius;
@end
我也注意到如果声明
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.h
文件中声明 +(id)circleOfButtons:(int)buttonCount buttonSize:(CGFloat)buttonSize circleRadius:(CGFloat)circleRadius
。
现在您将获得 ParentView
class.
中的方法
编码愉快 :) .
您正在呼叫
SGView *myView = [SGView circleOfButtons:count buttonSize:size radius:radius];
应该是
SGView *myView = [SGView circleOfButtons:count buttonSize:size circleRadius:radius];
SGView
中的一个函数circleOfButtons:buttonSize:radius:
(下面)是从ParentView
调用的,我希望ParentView
定义每当 ParentView
向 SGView
.
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:'
我的猜测是编译器需要在接口中声明。我正在研究 these tutorials trying to decide what the interface file should look like and though there are 6 SO questions that may already have answered my question, only this one 有一个似乎不太相关的例子。
这是我的界面文件。
#import <UIKit/UIKit.h>
#import "ViewController.h"
#import "SGView.h"
@interface ParentView : UIView {
}
+(id)circleOfButtons:(int)buttonCount buttonSize:(CGFloat)buttonSize circleRadius:(CGFloat)circleRadius;
@end
谁能举个例子说明这个接口文件应该是什么样子的?谢谢。
更新
这里是SGView.h
(已修改)
#import <UIKit/UIKit.h>
@interface SGView : UIView {
}
+(id)circleOfButtons:(int)buttonCount buttonSize:(CGFloat)buttonSize circleRadius:(CGFloat)circleRadius;
@end
我也注意到如果声明
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.h
文件中声明 +(id)circleOfButtons:(int)buttonCount buttonSize:(CGFloat)buttonSize circleRadius:(CGFloat)circleRadius
。
现在您将获得 ParentView
class.
编码愉快 :) .
您正在呼叫
SGView *myView = [SGView circleOfButtons:count buttonSize:size radius:radius];
应该是
SGView *myView = [SGView circleOfButtons:count buttonSize:size circleRadius:radius];