gpt4 book ai didi

iOS 错误 : No visible @interface for 'xxxx' declares the selector 'alloc'

转载 作者:可可西里 更新时间:2023-11-01 03:35:56 24 4
gpt4 key购买 nike

这是我的 TextValidator 类:

//TextValidator.h
#import <Foundation/Foundation.h>

@interface TextValidator : NSObject
- (BOOL) isValidPassword:(NSString *)checkPassword;
- (BOOL) isValidEmail:(NSString *)checkString;
- (BOOL) isEmpty:(NSString *)checkString;
@end


// TextValidator.m
#import "TextValidator.h"

@implementation TextValidator

- (BOOL) isEmpty:(NSString *)checkString
{
return YES;
}

- (BOOL) isValidPassword:(NSString *)checkPassword
{
return YES;
}

- (BOOL) isValidEmail:(NSString *)checkString
{
return YES;
}

@end

这是我尝试在 ViewController.m 中初始化 TextValidator 类的方法:

//ViewController.h
#import <Foundation/Foundation.h>

@interface SignUpViewController : UIViewController <UITextFieldDelegate>
@end

//ViewController.m
#import "SignUpViewController.h"
#import "TextValidator.h"

@interface SignUpViewController ()

@property TextValidator *myValidator;

@end

@implementation SignUpViewController

- (void)viewDidLoad
{
[[self.myValidator alloc] init]; //iOS error: No visible @interface for 'TextValidator' declares the selector 'alloc'*
[super viewDidLoad];
}
@end

当我尝试编译代码时出现以下错误:

No visible @interface for 'TextValidator' declares the selector 'alloc'.

TextValidator 类继承自 NSObject,据我所知,init 和 alloc 函数已经在基类中定义。那么为什么程序会报这样的错误呢?

请注意,我已经检查了 this主题,它对我不起作用。

最佳答案

我的通灵调试器在没有阅读您的代码的情况下告诉我您正在对一个对象实例 调用alloc,而不是一个类。 alloc 方法是由类(通常继承自 NSObject)定义的静态方法,它返回底层对象的新实例。您不能要求实例分配自身!

现在看代码,我明白你想要:

self.myValidator = [[TextValidator alloc] init];

构造一个新实例,并将其分配给 myValidator 属性。

关于iOS 错误 : No visible @interface for 'xxxx' declares the selector 'alloc' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19974682/

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