Wie der Titel impliziert, aktualisiert und UICollectionView
nicht anzeigt die Zellen sofort nach dem Aufruf reloadData
. Stattdessen scheint es meine Sammlung nach 30 bis 60 Sekunden zu aktualisieren. Mein Setup ist wie folgt:UICollectionView wird nicht sofort beim Aufrufen von reloadData aktualisiert, aber nach dem Zufallsprinzip nach 30 bis 60 Sekunden
UICollectionView
hinzugefügt Controller in der Storyboard anzuzeigen sowohl mit delegate
und dataSource
Setup für den View-Controller und Standard-Steckdose Setup numberOfSectionsInRow
& cellForItemAtIndexPath
beiden implementiert werden und verweisen auf die prototypisiert Zelle und die imageView
in der es
Hier ist der Code, der zu Twitter geht, eine Zeitleiste erhält, einer Variablen zuordnet, eine Tabellenansicht mit den Tweets neu lädt und dann die Tweets durchsucht, um Fotos zu finden und die Sammlungsansicht mit diesen Elementen neu zu laden.
Auch wenn ich den Code auskomme, um das Bild anzuzeigen, ändert es nichts.
SLRequest *timelineRequest = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodGET URL:timelineURL parameters:timelineParams];
[timelineRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
if(responseData) {
JSONDecoder *decoder = [[JSONDecoder alloc] init];
NSArray *timeline = [decoder objectWithData:responseData];
[self setTwitterTableData:timeline];
for(NSDictionary *tweet in [self twitterTableData]) {
if(![tweet valueForKeyPath:@"entities.media"]) { continue; }
for(NSDictionary *photo in [[tweet objectForKey:@"entities"] objectForKey:@"media"]) {
[[self photoStreamArray] addObject:[NSDictionary dictionaryWithObjectsAndKeys:
[photo objectForKey:@"media_url"], @"url",
[NSValue valueWithCGSize:CGSizeMake([[photo valueForKeyPath:@"sizes.large.w"] floatValue], [[photo valueForKeyPath:@"sizes.large.h"] floatValue])], @"size"
, nil]];
}
}
[[self photoStreamCollectionView] reloadData];
}
}];
Sind Sie sicher, dass dies, weil Sie nicht nicht nur ist sind Aufruf von -reloadData, bis die Anfrage abgeschlossen ist? (Das braucht Zeit). – indragie