MGTwitterEngine和iPhone(MGTwitterEngine and iPhone)

2019-07-31 00:58发布

我下载MGTwitterEngine并添加到我的iPhone项目。 它连接并获得雕像我可以从他们身上倾倒入NSLog的告诉。 但是,我想不出我多么多么需要解析的调用,所以我可以将它们添加到表中。 他们返回一个NSString,并期待这样的:

      {
    "created_at" = 2009-07-25 15:28:41 -0500;
    favorited = 0;
    id = 65;
    source = "<a href=\"http://twitter.com/\">Twitter</a>";
    "source_api_request_type" = 0;
    text = "The wolf shirt strikes again!! #sdcc :P http://twitpic.com/blz4b";
    truncated = 0;
    user =         {
        "created_at" = "Sat Jul 25 20:34:33 +0000 2009";
        description = "Host of Tekzilla on Revision3 and Qore on PSN. Also, a geek.";
        "favourites_count" = 0;
        "followers_count" = 0;
        following = false;
        "friends_count" = 0;
        id = 5;
        location = "San Francisco";
        name = "Veronica Belmont";
        notifications = false;
        "profile_background_tile" = false;
        "profile_image_url" = "http://blabnow.com/avatar/Twitter_10350_new_twitter_normal.jpg";
        protected = 0;
        "screen_name" = Veronica;
        "statuses_count" = 2;
        "time_zone" = UTC;
        url = "http://www.veronicabelmont.com";
        "utc_offset" = 0;
    };

任何人使用这个,可以告诉我其他人如何使用它自己的项目?

谢谢

Answer 1:

你们看到在你的控制台是一个NSDictionary的NSLog的,而不是一个NSString。 马特Gemmell的MGTwitterEngine自述 :

发送到这些方法的值是包含一个NSDictionary对各状态或用户或直接消息的所有NSArrays,与子字典如果必要的话(例如,时间线方法通常返回状态,每一个都具有一个子字典给出关于信息用户谁张贴的状态)。

所以,无论对象,你传递给你的NSLog()语句实际上是一本字典,你可以用电话访问的字段:

NSString *createdAtDate = [record valueForKey:@"created_at"];
NSString *source = [record valueForKey:@"source"];
// etc...

其中记录的对象。 请记住, 用户字段是子字典。 你访问它是这样的:

NSDictionary *userDict = [record valueForKey:@"user"];
NSString *name = [userDict valueForKey:@"name"];
NSString *location = [userDict valueForKey:@"location"];
// etc...

实际上,你可以使用的NSArray在请求作为你的表视图的数据源返回,然后就提取您在-cellForRowAtIndexPath表视图代表需要通过索引中的一个。

最好的祝福,



Answer 2:

对于其他人谁可能在这里找到自己的方式,下面就来parce结果的一种方式。 (从一个新手,所以不要这个数是标准的,甚至正确的方法)

键(双关语意:d)是使用词典中的相应委托方法。 看看马特龙的示例代码在另一个线程的话题。

为了parce是这样的:

[myTwitterEngine getSearchResultsForQuery:@"#ironsavior"];

他的例子是这样的,在委托方法:

- (void)searchResultsReceived:(NSArray *)searchResults 
                   forRequest:(NSString *)connectionIdentifier
{
    if ([searchResults count] > 0)
    {
        NSDictionary *result = [searchResults objectAtIndex:0];

        NSString *fromUser = [result valueForKey:@"from_user"];
        NSString *fromUserID = [result valueForKey@"from_user_id"];
        // ...
        NSString *text = [result valueForKey@"text"];

        NSLog(@"User %@(%@): %@", fromUser, fromUserID, text);
    }
}

这会给你一个很简单的信息,即变为“用户的用户名(用户ID):消息”。

我不知道什么是最好的方式继续会是这样,我想返回一个字典或者,你可以在你的执行的其他地方使用数组。 或者只是回到原来的阵列和其他地方的解析它。

检查出其他线程获取更多信息。



文章来源: MGTwitterEngine and iPhone