簡體   English   中英

MGTwitterEngine和iPhone

[英]MGTwitterEngine and iPhone

我下載了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;
    };

有人用這個可以告訴我其他人在他們的項目中如何使用它嗎?

謝謝

您在控制台中看到的是NSDictionary的NSLog而不是NSString。 來自Matt 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表視圖委托中提取索引所需的那個。

最好的祝福,

對於其他可能在這里找到自己的方式的人來說,這是分析結果的一種方法。 (來自新手,所以不要指望這是標准甚至是正確的方式)

密鑰(雙關語:D)是在適當的委托方法中使用字典。 查看Matt Long在該主題的另一個主題中的示例代碼。

要做這樣的事情:

[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);
    }
}

這將為您提供一條非常簡單的消息“User username(userid):message”。

我不確定最好的方法是什么,我正在考慮返回一個你可以在實現中使用的字典或數組。 或者只返回原始數組並在其他地方解析它。

查看其他線程以獲取更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM