0

我在表格视图中有一个自定义单元格。所有连接都已建立。我正在进行推特搜索。此结果会在 tableView 中传播自定义单元格。我想使用 componentsseparatedbystring 将单个推文分成一个数组,以便我可以将它们分配给我的自定义单元格中的 4 个标签。任何帮助将不胜感激。这是我的代码。

    - (void)fetchTweets
    {
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
            NSData* data = [NSData dataWithContentsOfURL:
                            [NSURL URLWithString: @"https://api.twitter.com/1/statuses/public_timeline.json"]];

            NSError* error;

            tweets = [NSJSONSerialization JSONObjectWithData:data
                                                     options:kNilOptions
                                                       error:&error];

            dispatch_async(dispatch_get_main_queue(), ^{
                [self.tableView reloadData];
            });
        });
    }

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        return tweets.count;

    }

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        static NSString *CellIdentifier = @"TweetCell";

        customCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
                // added this bit in
            cell = [[customCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];


        }

       // THIS IS THE BIT I'M STRUGGLING WITH
// I'M GUESSING THAT THIS LINE SEPARATES THE TWEETS INTO SINGLE TWEETS?
        NSDictionary *tweet = [tweets objectAtIndex:indexPath.row];
// I THEN CREATE AN ARRAY TO HOLD MY COMPONENTS OF THE TWEET SO THAT I CAN SPLIT FOR MY LABELS
        NSArray *arrayForCustomCell = [[NSArray alloc] init];

        arrayForCustomCell = [tweet componentsSeparatedByString:@":"];





        return cell;
    }
4

1 回答 1

1

您已经在异步调用中解析了结果。现在,你有一个'tweet'字典数组,你可以像这样获取任何值:

NSDictionary *tweet = [tweets objectAtIndex:indexPath.row];
NSString *tweetText = [tweet valueForKey:@"text"];
NSString *tweetCountry = [tweet valueForKeyPath:@"place.country"] //Nested property

然后你只需设置你的UILabels. 你明白了……

于 2012-05-24T13:20:07.197 回答