介してアレイ内の述語のインデックス位置を経て得られたfilteredArrayを送信する方法は次の:は、私は2つのアレイ、Iは、サーバからの応答として、私はpredicates.asを使用してアレイをフィルタリングすることによって得られた他のものを入手したものを持っているセグエ
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:@"Locally"];
reviewdataArray=[[NSMutableArray alloc]init];
reviewdataArray = [NSKeyedUnarchiver unarchiveObjectWithData:data];
NSPredicate *tPredicate =
[NSPredicate predicateWithFormat:@"user_id== %@",[[NSUserDefaults standardUserDefaults] stringForKey:@"userId"]];
filteredReviewdataArray=[[NSMutableArray alloc]init];
filteredReviewdataArray = [[reviewdataArray filteredArrayUsingPredicate:tPredicate]mutableCopy];
}
reviewdataArray戻り、以下:
(
{
Rating = 2;
"user_id" = "F2266E5D-C709-42FB-AD98-B75873AC2FD1";
},
{
Rating = 3;
"user_id" = "F2266E5D-C709-42FB-AD98-B75873AC2FD1";
},
{ Rating = 4;
"user_id" = "9fbec513-b598-4593-bed4-fe882f67eb2e";
},
{
Rating = 1;
"user_id" = "7wrs-513-42638-451-bed4-gd23sdgg231";
}
)
をfilteredReviewdataArrayには、以下の戻り値:
{ Rating = 4;
"user_id" = "9fbec513-b598-4593-bed4-fe882f67eb2e";
}
今、私はのtableViewにfilteredReviewdataArrayにこれらの辞書を表示していますし、セグエを通じて、私は次のようにのように選択された行のインデックス位置を送っています:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"rating"]) {
NSIndexPath *index = [self.tableView indexPathForSelectedRow];
TripViewController *tripController = [segue destinationViewController];
tripController.load = FALSE;
tripController.index = index;
}
}
しかし、これは間違ったdata.Iが実際に送信したい表示しますreviewdataArrayのfilteredReviewdataArrayアイテムのインデックス位置をsegueから取得します。これはどのように達成できますか?
選択したデータをいつTripViewControllerに送信しますか? – Joshua
なぜデータの代わりにtableviewの 'index'を送信していますか? – Tj3n