【发布时间】:2012-06-14 00:18:32
【问题描述】:
我正在 Twitter 上搜索带有此代码的推文:
- (void)fetchTweets
{
NSURL *url = [NSURL URLWithString:@"http://search.twitter.com/search.json"];
NSDictionary *params = [NSDictionary dictionaryWithObject:@"#winning" forKey:@"q"];
TWRequest *request = [[TWRequest alloc] initWithURL:url
parameters:params
requestMethod:TWRequestMethodGET];
[request performRequestWithHandler:
^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
if (responseData) {
NSError *jsonError;
tweets =
[NSJSONSerialization JSONObjectWithData:responseData
options:kNilOptions
error:&jsonError];
if (tweets) {
// NSLog(@"%@", tweets);
}
else {
NSLog(@"%@", jsonError);
}
}
[[self delegate] receivedTweets];
}];
[self performSelector:@selector(fetchTweets) withObject:nil afterDelay:30];
tweets 变量是一个 NSArray,我正在尝试使用以下代码将其放入 NSDictionary:
NSDictionary *tweet = [[TwitterHandler sharedInstance].tweets objectAtIndex:indexPath.row];
我确实得到了推文的 JSON 文本,但是当我尝试将它们添加到字典中以便最终将它们放入表中时,我得到了“无法识别的选择器发送到实例”错误。
我不确定我为什么会得到这个,任何帮助都将不胜感激。
【问题讨论】:
-
你能添加实际的错误信息吗?它应该有选择器的名称和实例的类型。
-
@PhillipMills
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary objectAtIndex:]: unrecognized selector sent to instance 0xdec1140' -
要么你的 tweets 数组被释放,内存被重新用来保存字典,要么
JSONObjectWithData返回字典。当您取消注释// NSLog(@"%@", tweets);时,它说了什么? -
日志为我提供了我正在搜索的 JSON 格式的推文。
-
但是它显示它们是在数组还是字典中???
标签: ios twitter unrecognized-selector