2010-11-25 5 views
0

SDK 3.2を実行しているアプリケーションがあります。私はNSXMLParserDelegateをXMLの解析に使用しています。iOS SDK NSXMLParserDelegate警告

私は4.2をSDKにそれをアップグレードして、私のアプリケーションはNSXMLParserDelegateを使用した場合クラッシュし、警告は言った:

'Class' does not implement the 'NSXMLParserDelegate' protocol 

私は次のことを試してみました:

  • 私のクラスNSObjectのにプロトコルを追加します。 <NSXMLParserDelegate>
  • #import <Foundation/NSXMLParser.h>

しかし、私の試みはすべて失敗していました。何か助けていただければ幸いです。

答えて

2

ヘッダファイルでインポート財団/ NSXMLParser.hとちょうどあなたのインターフェース宣言の前に次の行を置く:

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

これは実際にNSXMLパーサの新しいバージョンに欠けているプロトコルの前方宣言です。

+0

応答ありがとうございます! #import @protocol NSXMLParserDelegate; @interfaceユーティリティ:NSObjectのは、 { \t } はまだ同じissue- –

+0

を持っているあなたはまだ警告または単にクラッシュしていますか?必要なすべての解析関数をmファイルに実装しましたか? – Prcela

+0

はいPrcelaこのアプリケーションは問題なく完全に動作するために使用されていましたが、アプリケーションがクラッシュすることはありませんが、警告が表示されるのを心配する必要はありますか? –

1

警告を無視することもできます。それ以外の場合は、古いOSで実行しないでください。

クラッシュについて: 4.2に更新したので、xmlparsingを実行しても同じ問題が発生しています。問題は、更新後、メモリがいっぱいになって、アプリケーションがクラッシュするまで埋められてしまうことです。このアプリは数ヶ月間、問題のないデータ量でも問題なく動作していましたが、その日は終わりです。 残念ながら、私はそれを正しく解決する方法を知らない。ここで何かを見つけようとしましたが、人々は自分のコードにバグがあると主張し続け、メモリ管理に変更はないと私は思います。たぶん、メモリ管理の変更はありませんが、次にiOS 4.2の別のバグです。私は50に私の記録を今までに制限した、そしてそれは少し良く機能する...しかし、それは実際の解決ではない。

ヒントは大歓迎です:-)