2014-04-29 1 views
0

Привет Я разрабатываю небольшое приложение IOS, и я новичок в разработке IOS. В моем приложении я использую представление коллекции для отображения моих данных. Что я делаю, я извлекаю данные с моего сервера, а затем показываю в своем контроллере UIView. Вот мой код выглядит какОбновить коллекцию с новыми данными IOS7

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 

// call for fetching data from server 
} 


// My collection view methods 
-(NSInteger) numberOfSectionsInCollectionView:(UICollectionView *)collectionView 
{ 
return 1; 
} 

-(NSInteger) collectionView:(UICollectionView *)collectionView numberOfItemsInSection:  (NSInteger)section 
{ 
return [_channelArray count]; 
} 

-(UICollectionViewCell *) collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath]; 

cell.image = // set image from channel array. 
return cell; 
} 



// callback for m web service call 
-(void) didReceiveSubscriberChannelList:(SubscriberChannelListDataModel *)subscriberChannelListInfo 
{ 

_channelList = subscriberChannelListInfo; 
_channelArray = subscriberChannelListInfo.chanellist; 
[collectionView reloadData]; 
} 

Над кодом работает со статическими данными. Но теперь я хочу отображать данные сервера. Мои данные перезагрузки не работают. Как это сделать. Нужна помощь. Спасибо.

+0

вызова метода вебсервиса в методах viewWillAppear: didReceiveSubscriberChannelList –

+0

@DivyaBhalodiya Я не получаю ваш точка. – nilkash

+0

«callback for m web service call» put in viewWillAppear –

ответ

2

Вы считаете, что данные метода обратного вызова в блоке?

// callback for m web service call 
-(void) didReceiveSubscriberChannelList:(SubscriberChannelListDataModel *)subscriberChannelListInfo 
{ 
     dispatch_async(dispatch_get_main_queue(), ^{ 
     _channelList = subscriberChannelListInfo; 
     _channelArray = subscriberChannelListInfo.chanellist; 
     [collectionView reloadData]; 
     }); 
} 

Таким образом, когда обратный вызов возвращает будет перезагрузить данные в основного потока (резьба UI)