Iphone “如何被掩埋”;“节点内容”;排列
大家好,我花了几个小时来解决这个问题。长话短说,我试图从数组中的nodeContent获取值。当我有一个断点和一个数组的“打印描述”时,这就是它的输出。我的问题是,如何获取下面列出的隐藏的“nodeContent”的内容?如果可能的话,我想把这个串回去 NSArray打印输出到控制台:Iphone “如何被掩埋”;“节点内容”;排列,iphone,ios4,iphone-sdk-3.0,Iphone,Ios4,Iphone Sdk 3.0,大家好,我花了几个小时来解决这个问题。长话短说,我试图从数组中的nodeContent获取值。当我有一个断点和一个数组的“打印描述”时,这就是它的输出。我的问题是,如何获取下面列出的隐藏的“nodeContent”的内容?如果可能的话,我想把这个串回去 NSArray打印输出到控制台: { nodeAttributeArray = ( { attributeName = class; nodeCont
{
nodeAttributeArray = (
{
attributeName = class;
nodeContent = g;
}
);
nodeChildArray = (
{
nodeAttributeArray = (
{
attributeName = href;
nodeContent = "/site.aspx?s=23RBHJz4%2bck%3";
}
);
nodeChildArray = (
{
nodeContent = update;
nodeName = div;
}
);
nodeContent = "3.49"; //THIS IS THE VALUE I WANT
nodeName = a;
}
);
nodeContent = "";
nodeName = th;
}
我能把它作为一根绳子拿回来吗
NSString * value = [code]??
我真的很感激任何帮助 您可以修改
TFHppleElement
以返回子对象
在TFHppleElement.h
中:
@interface TFHppleElement : NSObject
[..]
- (NSArray*)children
@end
在TFHppleElement.m
中:
NSString * const TFHppleNodeChildArrayKey = @"nodeChildArray";
@implementation TFHppleElement
[..]
- (NSArray*)children {
[node objectForKey:TFHppleNodeChildArrayKey];
}
[..]
@end
所以现在你可以这样得到它
NSString *value = [[[object children] objectAtIndex:0] content];
原始答案
打印输出表明它是一个基于大括号的dictionary对象。你可能想看看。在这种情况下,您应该能够使用
NSString *value = [[object valueForKeyPath:@"nodeChildArray.nodeContent"] objectAtIndex:0];
嘿,迪帕克,谢谢你的回复。我试过你的建议,但当我说到点子上时却遇到了一个例外。还有其他的建议吗?谢谢你,伙计!2011-06-05 09:51:35.198 Hpple[12055:207]***由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[valueForUndefinedKey:]:此类不符合key nodeChildArray的键值编码。您应该发送消息
节点
,而不是TFHppleElement
实例。我不完全确定如何执行此操作?我四处找一找!事实上,现在我明白你真正的问题是什么了。我建议您修改TFHppleElement
类,使其具有一个children
方法,该方法返回由nodeChildArray
指向的数组。“也许这是一个更好的方法。”路易用建议的修改修改了答案。