0

私が排除しようとしている PickerView の厄介な点は、ユーザーがそれを選択するために行 0 から移動し、もう一度行を戻す必要がある場合です。ユーザーが行ゼロを選択することにした場合、ボタンを押すだけで次のビューに移動し、行ゼロの値が選択されるようにしたいと思います。

何か案は?

どうもありがとう

ここに私のコードがあります - 現時点では、saveSelectedCondition に接続されたボタンが押され、pickerView が行 0 から移動されていない場合、行 0 の条件値ではなく、selectedCondition に対して null が返されます。

   - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {

        Condition *condition = [[self.fetchedResultsController fetchedObjects] objectAtIndex:row];
        self.selectedCondition = condition;
        NSLog(@"The '%@' condition was selected using the picker", self.selectedCondition.name);
    }

    - (IBAction)saveSelectedCondition:(id)sender {
        [self.selectedCondition setValue:@"YES" forKey:@"isSelectedCondition"];
        [self.managedObjectContext save:nil];
        NSLog(@"Saving selected condition (%@) with isSelectedCondition set to '%@'", self.selectedCondition.name, self.selectedCondition.isSelectedCondition);
    }
4

2 に答える 2

0

次のコードで performFetch に従って整理しました。

 [self performFetch];
    NSLog(@"The following Conditions were fetched for the Picker by SelectorViewController:");
    for (Condition *fetchedCondition in [self.fetchedResultsController fetchedObjects]) {
        if (fetchedCondition ==[[self.fetchedResultsController fetchedObjects] objectAtIndex:0])
        {[fetchedCondition setValue:@"YES" forKey:@"isSelectedCondition"];
            self.selectedCondition = fetchedCondition;}
        else
        [fetchedCondition setValue:@"NO" forKey:@"isSelectedCondition"];    
        [self.managedObjectContext save:nil];
        NSLog(@"Condition: %@, isSelectedCondition %@", fetchedCondition.name, fetchedCondition.isSelectedCondition);
    }

}
于 2013-04-05T11:50:40.900 に答える
0

それを試してみてください....

- (IBAction)saveSelectedCondition:(id)sender {
    myText.text = [myArray objectAtIndex:0];//Just add this line for set first value
    [self.selectedCondition setValue:@"YES" forKey:@"isSelectedCondition"];
    [self.managedObjectContext save:nil];
    NSLog(@"Saving selected condition (%@) with isSelectedCondition set to '%@'", self.selectedCondition.name, self.selectedCondition.isSelectedCondition);
}

Set first value when your picker view called.
于 2013-04-05T05:51:29.037 に答える