我下载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。 马特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表视图代表需要通过索引中的一个。
最好的祝福,
对于其他人谁可能在这里找到自己的方式,下面就来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):消息”。
我不知道什么是最好的方式继续会是这样,我想返回一个字典或者,你可以在你的执行的其他地方使用数组。 或者只是回到原来的阵列和其他地方的解析它。
检查出其他线程获取更多信息。