そのため、アプリの設定ビュー (SettingsViewController) を作成しています。ビューには 5 つのスイッチが含まれています。私は次のことを達成しようとしています:
スイッチがオンの場合、TableView をフィルター処理して、「関節炎」を含むアイテムのみを表示します。スイッチがオフの場合、すべてのアイテムを表示します。
注: TableView は別のビュー (ViewController) にあります。
ViewController.h を SettingsViewController.m ファイルにインポートしたにもかかわらず、StrainTableView が識別されていないことがわかります。理由について何か考えはありますか?以下のコードを参照してください (PickerView の参照は無視してかまいません)。
SettingsViewController.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
SettingsViewController.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];
}
}
ViewController.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