私は現在アプリに取り組んでおり、media_url を含むツイートのみを読み込みたいです。ツイートを tableView にロードするのを止めようとしましたが、明らかな理由で多くの空白のツイートが発生します。
そのために使用したコード:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
id tweet = [self.timeline objectAtIndex:[indexPath row]];
NSString *example = [NSString stringWithFormat:@"%@",[tweet valueForKeyPath:@"entities.media.media_url"]];
NSLog(@"%@", example);
if ([example isEqual: @"(null)"] ) {
} else {
cell.textLabel.text = [tweet valueForKeyPath:@"text"];
cell.detailTextLabel.text = [tweet valueForKeyPath:@"user.name"];
}
return cell;
}
だから今私は、media_url を持つツイートのみを正常にロードし、それらを順番に配置する別の方法を探しています。NSJSONSerialization を使用してデータを解析しています。
そのために使用したコード:
- (void)fetchData
{
[_refreshHeaderView refreshLastUpdatedDate];
NSURL *url = [NSURL URLWithString:@"https://api.twitter.com/1/statuses/home_timeline.json?count=199&include_entities=true"];
TWRequest *request = [[TWRequest alloc] initWithURL:url
parameters:nil
requestMethod:TWRequestMethodGET];
[request setAccount:self.account];
[request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
if ([urlResponse statusCode] == 200) {
NSError *jsonError = nil;
id jsonResult = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&jsonError];
if (jsonResult != nil) {
self.timeline = jsonResult;
dispatch_sync(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
}
else {
NSString *message = [NSString stringWithFormat:@"Could not parse your timeline: %@", [jsonError localizedDescription]];
[[[UIAlertView alloc] initWithTitle:@"Error"
message:message
delegate:nil
cancelButtonTitle:@"Cancel"
otherButtonTitles:nil] show];
}
}
}];
[self performSelector:@selector(doneLoadingTableViewData) withObject:nil afterDelay:1.0];
}
とにかく、タイムラインに追加されるデータ、media_url を含むツイートのデータのみを作成できるかどうか、または別の方法を使用してこれを行うより良い方法があるかどうかを知りたいです。
ありがとう。