とりあえず、idの重複は回避。
- (void)apiTicket:(OAServiceTicket *)ticket didFinishWithData:(NSData *)data{ NSDictionary *bd=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil]; if(lastid!=0&&lastid<=[[[bd valueForKeyPath:@"response.posts.id"]objectAtIndex:0]longLongValue]){ offset++;[self reqJSON];return; } //以下略 }あとはoffsetが250を超えた場合の処理。 まずは250個のidがそれぞれどれくらい離れてるかの平均をとって、それにlimitの件数をかけた値をlastidから引いてsince_idにセットしてreqJSONして、帰ってきたJSONの一番上のidがlastidより古ければ平均を足して再度reqJSONしてlastid(またはそれより新しいid)と重複したら重複した分だけ削ってパースしてpostのviewを作る感じでいけば、postの欠落は防げるかな。とりあえず平均を取るところまで。
- (void)npost{ if([pvlayer viewWithTag:now]==[pvArr lastObject]) return; [[pvlayer viewWithTag:now++] removeFromSuperview]; [pvlayer addSubview:[pvArr objectAtIndex:now-1]]; [bprev removeFromSuperview]; [self na]; if(now+10>[contArr count]){ offset+=limit; if(offset<=250) [self reqJSON]; else{ if(iddiff==0) iddiff=([[idArr objectAtIndex:0]longLongValue]-[[idArr lastObject]longLongValue])/([idArr count]-1); NSLog(@"%lld",iddiff); } } }できた。
今日は丹後半島出張で、帰ってきて福島のみつ星製麺所で濃厚らーめん半玉増し白ごはん。濃い。今年100杯超えてるのでペースは押さえ気味(100杯目は姫路の丸十)。今月5杯目。しかも夜久々にランした。10km弱。半年ラーメン三昧だった分、絞るぞ。
0 件のコメント:
コメントを投稿