我浏览了有关此问题的其他主题,但无法确定我的错误。

我对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

最佳答案

在MatchTest.h文件中声明doesItMatch方法
喜欢

在MatchTest.h中

-(NSString*)doesItMatch:(UIButton *)sender;


编译器无法在.h文件中归档dosItMatch方法的声明,因此存在该错误。

关于ios - 从继承的类-ios实现方法时遇到麻烦,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18309100/

10-08 21:06