所以我正在为我的应用程序创建一个设置视图 (SettingsViewController),该视图包含 5 个开关。我希望完成以下工作:
如果开关打开,过滤 TableView 以仅显示包含“关节炎”的项目。如果开关关闭,则显示所有项目。
注意:TableView 位于另一个视图(ViewController)上。
现在,即使我已将 ViewController.h 导入到我的 SettingsViewController.m 文件中,它也告诉我 StrainTableView 身份不明。知道为什么吗?请参阅下面的代码(您可以忽略 PickerView 引用)。
设置视图控制器.h
@interface SettingsViewController : UIViewController {
IBOutlet UISwitch *ArthritisSwitch;
IBOutlet UIView *CancerSwitch;
IBOutlet UISwitch *HIVSwitch;
IBOutlet UISwitch *InsomSwitch;
IBOutlet UISwitch *MigSwitch;
IBOutlet UILabel *mylabel;
NSArray *arthritisResults;
NSArray *Strains;
}
-(IBAction)switchtheswitch:(id)sender;
@property (nonatomic, retain) NSArray *arthritisResults;
@end
设置视图控制器.m
#import "SettingsViewController.h"
#import "ViewController.h"
@interface SettingsViewController ()
@end
@implementation SettingsViewController
@synthesize arthritisResults;
-(IBAction)switchtheswitch:(id)sender; {
if (ArthritisSwitch.on) {
NSPredicate *ailmentPredicate = [NSPredicate predicateWithFormat:@"title ==[c] 'Arthritis'"];
arthritisResults = [Strains filteredArrayUsingPredicate:ailmentPredicate];
// Pass any objects to the view controller here, like...
[StrainTableView setSearchResults: [arthritisResults copy]];
NSLog(@"%@", arthritisResults);
}
else {
[Strains count];
}
}
视图控制器.h
#import "PickerViewController.h"
@interface ViewController : UIViewController <PickerViewControllerDelegate, UITableViewDataSource,UITableViewDelegate>
{
NSArray *searchResults;
// NSArray *Strains;
NSMutableData *data;
NSMutableArray *dataArray;
NSArray *Strains;
}
@property (nonatomic, strong) NSMutableArray * favoritesArray;
@property (nonatomic, retain) NSArray *searchResults;
@property (strong, nonatomic) IBOutlet UITableView *StrainTableView;
@end