0

我有一个运行 SDK 3.2 的应用程序,NSXMLParserDelegate用于解析 XML。

我将它升级到 SDK 4.2 并且我的应用程序在使用时不断崩溃NSXMLParserDelegate,警告说:

'Class' does not implement the 'NSXMLParserDelegate' protocol

我尝试了以下方法:

  • 将协议添加到我的类 NSObject <NSXMLParserDelegate>
  • #import <Foundation/NSXMLParser.h>

但是我所有的尝试都失败了,非常感谢任何帮助。

4

2 回答 2

2

在头文件中导入 Foundation/NSXMLParser.h 并将这一行放在你的接口声明之前:

@protocol NSXMLParserDelegate;
// ... and this code you already have but just to be sure it is written as:
@interface SomeYourClass <NSXMLParserDelegate> {

这是新版本的 NSXML 解析器中实际上缺少的协议的前向声明。

于 2010-11-25T10:44:02.997 回答
1

您可以忽略该警告,甚至应该忽略它,否则它不会在较旧的操作系统上运行。

关于崩溃:自从更新到 4.2 后,我在 xmlparsing 时遇到了同样的问题。问题是更新后内存被填满,直到应用程序崩溃。该应用程序已经运行了几个月,即使有大量数据也没有问题,那些日子已经结束了。不幸的是,我不知道如何正确解决它。试图在这里找到一些东西,但人们一直坚持认为这是我的代码中的一个错误,并且内存管理没有变化......我不这么认为。也许内存管理确实没有变化,但这是 iOS 4.2 的另一个错误。我现在将我的记录限制为 50 条,而且效果更好……但这并不是真正的解决方案。

提示大多是受欢迎的:-)

于 2011-02-18T10:48:36.610 回答