我已经浏览了关于此问题的其他主题,但我一直无法确定我的错误。从继承类实现方法的麻烦-ios
我对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
你太棒了!非常感谢。修复了这个问题。 你是否总是需要在.h文件中声明类似的方法。一般来说,我是基于C编程的新手。 – demuro1
是的,你需要声明,特别是当你在课堂本身调用它时。但如果你在同一个班级中打电话,这不是必需的。如果在.h文件中的声明方法是很好的编程习惯。 – Suryakant
接受。将不知道有关该问题的任何 感谢关于.h问题的答复! – demuro1