- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在解析一个如下所示的 XML 文件:
<partie numero="1">
<exercice numero="1" libelle="blabla"></exercice>
<exercice numero="2" libelle="anything"></exercice>
</partie>
我正在使用 Rapture XML 库,因此如 GitHub 上所述,我执行以下操作:
RXMLElement *rxmlPartie = [rxmlParties child:@"partie"];
NSArray *rxmlUnExercice = [rxmlPartie children:@"exercice"];
我可以使用这一行从 partie 中正确打印“numero”属性:
NSLog(@"Partie #%@",[rxmlPartie attribute:@"numero"] );
但是当我尝试在我的 NSArray 上使用迭代方法时:
[rxmlPartie iterate:@"partie.exercice" usingBlock: ^(RXMLElement *exercice) {NSLog(@"Exercice: %@ (#%@)", [exercice attribute:@"libelle"], [exercice attribute:@"numero"]);}];
我收到一条警告,应用程序崩溃,说:
-[RXMLElement iterate:usingBlock:]: unrecognized selector sent to instance 0xc67f870
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '- [RXMLElement iterate:usingBlock:]: unrecognized selector sent to instance 0xc67f870'
我是否忘记导入某些东西,或者我是否以错误的方式实现了该方法?
如果我尝试使用 iterateWithRootXPath 会发生同样的错误...
感谢您的帮助!
最佳答案
所以,我发现了我的问题所在。
在执行此操作之前,我对使用 Rapture XML 进行配对一无所知……所以我坚持使用文档(就像有人在学校告诉我的那样 :-))。但问题是文档中使用的方法,这个“iterate usingBlock”在框架中没有定义。
而不是使用
[rxmlPartie iterate:@"partie.exercice" usingBlock: ^(RXMLElement *exercice) {NSLog(@"Exercice: %@ (#%@)", [exercice attribute:@"libelle"], [exercice attribute:@"numero"]);}];
我在用
[rxmlPartie iterate:@"exercice" with: ^(RXMLElement *exercice) {NSLog(@"Exercice: %@ (#%@)", [exercice attribute:@"libelle"], [exercice attribute:@"numero"]);}];
框架内定义明确!
这让我很开心!!
关于ios - RaptureXML 迭代 :usingBlock warning and crash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10735145/
我是 block 编程新手。我的 Listener 类中有以下代码(不使用 arc): - (void)someBlock:((void)^(NSDictionary *)myDictionary)m
我对 objective-c 中的 block 还是个新手,想知道我的伪代码是否正确。我不确定只删除观察者是否足够,或者我是否必须调用 removeObserver:name:object: -(vo
我正在调用上述函数,它正确地遍历所有匹配项。但是,在处理完所有匹配的 block 后,它并没有完成执行。我可能做错了什么? 使用的正则表达式是:/\[([^\[\{,]*(,\n)?)*\]/ 最佳答
我正在解析一个如下所示的 XML 文件: 我正在使用 Rapture XML 库,因此如 GitHub 上所述,我执行以下操作: RXMLElement *rxmlPa
我正在编写一个库以使用 AVFoundation 将 Assets 导出到文件。我创建了一个读取器和一个写入器,将输入和输出连接到这些,然后对输入调用 requestMediaDataWhenRead
我有以下代码在加载 View 时添加观察者。 - (void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter def
我正在摆弄一个小型 Swift 应用程序。在其中,用户可以通过单击应用程序菜单中的“新建”来创建任意数量的 MainWindow 实例。 应用程序委托(delegate)保存一个类型为MainWind
我注意到即使我将 *stop BOOL 指针设置为 YES,我的枚举 block 也会被执行两次。我以为设置 *stop = YES 会在第一个之后停止? [lib enumerateGroupsWi
我尝试使用 enumerateObjectsWithOptions:usingBlock 方法枚举数组。然而,我的代码很少能工作。当它不起作用时,我的应用程序会卡住(但没有沙滩球)——我对 block
我需要在后台将视频发布到服务器。到目前为止,我在发布时一直使用这种模式: - (BOOL)loginUser:(user *)user { BOOL ret = NO; AppDele
我在一个使用 RestKit 的项目中。在我们决定升级到 0.10.0 之前,我们一直在使用 0.9.2 版本。在对我的代码进行一些小改动以使其与新版本的 RestKit 兼容之后,我在使用 load
我对为什么在以下代码中从未删除观察者感到困惑。在我的 viewDidAppear 中,我有以下内容: -(void)viewDidAppear:(BOOL)animated{ id gpsObserv
我在没有 kCTFontAttributeName 范围的现有 NSAttributedString 上调用以下选择器: [attributedString enumerateAttribute:(N
我在解析器中使用了一个正则表达式,但是,它似乎给出了很多结果,这是我的代码:正则表达式: self.seatSelectRegex = [NSRegularExpression regularExpr
我正在开发一个基于 ALAssetsLibrary api(从 4.0 开始可用)的 iOS 应用程序,我用它来检索设备上保存的所有图像和视频,这非常简单。不管怎样,只要我在我的 iPhone 4 上
我是一名优秀的程序员,十分优秀!