我已经查看了有关此事的其他主题,但我无法确定我的错误。
我是IOS编程的新手。我正在尝试创建一个程序,查看2个按钮的选定状态,并确定按钮选择状态是否相同。
我目前正在尝试使用模型来确定按钮选择状态,然后将状态传递给标签。我有一个错误,上面写着:
'MatchTest'没有可见的@interface声明选择器'doesItMatch'
我很感激可以提供任何帮助 谢谢!
这是MatchTest.h文件
// MatchTest.h
#import <Foundation/Foundation.h>
@interface MatchTest : NSObject
@end
这是MatchTest.m文件
// MatchTest.m
#import "MatchTest.h"
@implementation MatchTest
-(NSString*)doesItMatch:(UIButton *)sender
{
NSString* tempString;
if(sender.isSelected)
{
tempString = @"selected";
}
else
{
tempString = @"not selected";
}
return tempString;
}
@end
这是MatchViewController.h文件
// MatchViewController.h
#import <UIKit/UIKit.h>
#import "MatchTest.h"
@interface MatchViewController : UIViewController
@end
这是MatchViewController.m文件
// MatchViewController.m
#import "MatchViewController.h"
@interface MatchViewController ()
@property (weak, nonatomic) IBOutlet UILabel *matchLabel;
@property (strong, nonatomic) MatchTest *match;
@end
@implementation MatchViewController
-(MatchTest *)match
{
if(!_match) _match = [[MatchTest alloc] init];
return _match;
}
- (IBAction)button:(UIButton *)sender
{
sender.selected = !sender.isSelected;
self.matchLabel.text = [self.match doesItMatch:sender];
}
@end
答案 0 :(得分:2)
在MatchTest.h文件中声明doesItMatch
方法
喜欢
-(NSString*)doesItMatch:(UIButton *)sender;
编译器无法在.h文件中提交doItMatch方法的声明,这就是为什么会出现错误。
答案 1 :(得分:0)
您尚未在 MatchTest.h文件中定义方法-(NSString*)doesItMatch:(UIButton *)sender
。
您正在 MatchViewController.h文件中导入 MatchTest.h文件,因此您需要定义方法或变量或属性以使此方法可用。
因此,根据您的错误日志,viewController无法找到声明此方法的接口。