アプリに辞書を含むplist配列を入力します。辞書のキー「Freshness」の値は、飲み物の鮮度を示すバンドル画像の名前、「level1.png」、「level2.png」、「level3.png」、「level4.png」です。 "、" level5.png "、" level6.png "、または"level7.png"。
UIStepperを追加したので、ユーザーは次のように飲み物の最小および最大の鮮度を指定できます。
- (void)viewDidLoad
{
[super viewDidLoad];
minImageView.image = [UIImage imageNamed:@"level1.png"];
maxImageView.image = [UIImage imageNamed:@"level7.png"];
}
- (IBAction)minStepperValueChanged:(id)sender {
double stepperValue = minStepper.value;
minImageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"level%.f.png", stepperValue]];
maxStepper.minimumValue = minStepper.value;
minStepper.maximumValue = maxStepper.value;
minLabel.text = [NSString stringWithFormat:@"From level %.f", stepperValue];
}
- (IBAction)maxStepperValueChanged:(id)sender {
double stepperValue = maxStepper.value;
maxImageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"level%.f.png", stepperValue]];
maxStepper.minimumValue = minStepper.value;
minStepper.maximumValue = maxStepper.value;
maxLabel.text = [NSString stringWithFormat:@"To level %.f", stepperValue];
}
が呼び出されたらsearchButtonPressed
、私が何をしたいのかを推測します。allObjectsArray
からへの適切なレベルの鮮度でオブジェクトを追加しますsearchResultsArray
。このようにフィルタリングするコードの提案はありますか?
すべてのレベルの画像パスで可変配列levelsArray
を使用し、最小値を下回るオブジェクトまたは最大値を超えるオブジェクトをlevelsArray
いつから削除するかを考えていましたsearchButtonPressed
。
次に、この配列の残りのオブジェクトの1つに一致する辞書をに追加しsearchResultsArray
ます。しかし、私はこれについて頭をひねりすぎたので、本当に助けが必要です。どうもありがとう!
編集:
私は最初にこれを行いました:
-(IBAction)searchButtonPressed:(id)sender{
for(double i=otherCriteriasViewController.minStepper.value;i>1;i--) {
[otherCriteriasViewController.levelsArray removeObject:[NSString stringWithFormat:@"level%.f.png", i-1]];
}
for(double ii=otherCriteriasViewController.maxStepper.value;ii<7;ii++) {
[otherCriteriasViewController.levelsArray removeObject:[NSString stringWithFormat:@"level%.f.png", ii+1]];
}
次に、levelsArrayのオブジェクトの1つを含むすべてのオブジェクトを追加します。