私がやっていることは、プッシュ ビュー コントローラーを適用して、テーブル ビューの didSelectMethod から次のビューに移動することです。そして、次のビュー コントローラーで、そのビューのデータがフェッチされます。したがって、問題は、データが完全にフェッチされ、画像とテキストの両方が含まれている場合にのみビューが切り替わることです。しかし、私はすでに画像の遅延読み込みを適用していますが、問題はすぐに次のビューに移動してからデータを取得し、UI とテーブルビューを更新することです。以下は私が試しているコードです。
次のView ControllerのdidLoadメソッドで。
[NSThread detachNewThreadSelector:@selector(setImage) toTarget:self withObject:nil];
すべてのデータ画像とテキストを取得する setImage メソッド。
-(void)setImage
{
if([type isEqualToString:@"Organisation"])
{
self.mGetDataDict = [MyEventApi members:self.mUserIdDict];
self.mRecievedDataDict = [self.mGetDataDict valueForKey:@"members"];
}
if([type isEqualToString:@"Individual"]){
self.mGetDataDict = [MyEventApi friends:self.mUserIdDict];
self.mRecievedDataDict = [self.mGetDataDict valueForKey:@"friends"];
}
if([self.mGetDataDict valueForKey:@"friends"] == [NSNull null])
{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"alert" message:@"You have not added any friend yet." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
else
{
self.mFrndNameArr = [[NSMutableArray alloc]init];
self.mFrndImgArr = [[NSMutableArray alloc]init];
self.mFirstNameArr = [[NSMutableArray alloc]init];
self.mLastNameArr = [[NSMutableArray alloc]init];
self.mFrndIdArr = [[NSMutableArray alloc]init];
self.mFrndMSinceArr = [[NSMutableArray alloc]init];
self.mFrndDescArr = [[NSMutableArray alloc]init];
self.mFrndNameArr = [self.mRecievedDataDict valueForKey:@"username"];
self.mFrndImgArr = [self.mRecievedDataDict valueForKey:@"image"];
self.mFirstNameArr = [self.mRecievedDataDict valueForKey:@"firstName"];
self.mLastNameArr = [self.mRecievedDataDict valueForKey:@"lastName"];
self.mFrndIdArr = [self.mRecievedDataDict valueForKey:@"id"];
self.mFrndMSinceArr = [self.mRecievedDataDict valueForKey:@"memberSince"];
self.mFrndDescArr = [self.mRecievedDataDict valueForKey:@"description"];
[self.mFriendsTable reloadData];
}
}
上記のガイドをお願いします。私は正しい方法を使用していますか、これを行う別の方法があります。前もって感謝します。