0

解析のために実装するのが簡単であることがわかったので、アプリケーションでRaptureXMLを使用しようとしました。リモートXMLファイルを解析し、そこから画像を取得してUIImageViewとして表示しようとしています。リモートXMLファイルを呼び出そうとすると、次のような警告と2つのエラーが発生しました。

  • 'elementFromURL:'は非推奨です
  • "_OBJC_CLASS _ $ _ RXMLElement"、参照元:objc-class-ref in MyViewController.o ld:アーキテクチャi386 clangのシンボルが見つかりません:エラー:リンカーコマンドが終了コード1で失敗しました(-vを使用して呼び出しを確認してください)
  • clang:エラー:リンカーコマンドが終了コード1で失敗しました(呼び出しを確認するには-vを使用してください)

私が以下に示すように使用したViewController、

- (void)viewDidLoad
  {
   [super viewDidLoad];
    RXMLElement *rootXML = [RXMLElement elementFromURL:[NSURL URLWithString:@"http://myxml.com/Sample.xml"]];
    RXMLElement *rxmlProducts = [rootXML child:@"Products"]; 
    NSArray *myarray = [rxmlPlayers children:@"Main"];
    UIImage *currentImage = [myarray objectAtIndex:0];
    customimage.image = currentImage;
  }

私のリモートXMLファイルは次のようになります。

<Products>
  <Main id="1">
    <name>Main</name>
    <mainimage id="1">http://myimage.com/images/first.png</mainimage>
    <mainimage id="2">http://myimage.com/images/second.png</mainimage>
  </Main>
  <Category id="1">
    <name>category1</name>
    <categoryimage id="2">http://myimage.com/images/img1.png</categoryimage>
  </Category>
  <Category id="2">
    <name>category2</name>
    <categoryimage id="2">http://myimage.com/images/img2.png</categoryimage>
    <subcategoryimage id="1">http://myimage.com/images/img5.png</subcategoryimage>
    <subcategoryimage id="2">http://myimage.com/images/img4.png</subcategoryimage>
  </Category>
</Products>

このエラーを解決する方法と、 RaptureXMLを使用して上記のリモートXMLファイルを解析する方法を教えてもらえますか?

4

2 に答える 2

2

最後に、 RaptureXML GitHubで提案されているように、以下の方法でARCエラーの問題を解決しました。

ARC問題の場合

これはリンカーエラーなので

  • プロジェクト設定に移動し、現在のビルドターゲットを選択して、[ビルドフェーズ]タブをクリックします。「ソースのコンパイル」の下。
  • RXMLElement.mリストにファイルが追加されていない場合は、リストに含まれているかどうかを確認してください。これで、ARCエラーはリンカーによって解決されます。

'elementFromURL:'の場合は非推奨です問題

  • elementURL:を使用することはもうお勧めしません。あなたはそれで逃げることができます、しかしそれはあなたが何人かの人々が望むようにネットワーク呼び出しをカスタマイズすることができないままにします(タイムアウトなど)。お気に入りのネットワークライブラリを使用してXMLデータを取得し、それをRaptureXMLにパイプすることをお勧めします。
于 2013-03-01T07:18:20.903 に答える
0

OK、2つの問題があります:

1)RaptureXMLの作成者はelementFromURL、このコミットのメソッドを次のコメントで非推奨にしました。

ネットワーク操作は自分で行い、RaptureXMLにXMLを任せることをお勧めします。

2)iPhoneシミュレータ(アーキテクチャi386)をサポートしてコンパイルされた(静的?)ライブラリを使用していないようです。これを解決するには、サポートを含めて自分で再コンパイルするか、このサポートがすでにあるオンラインのものを見つける必要があります。

于 2013-02-11T13:48:31.867 に答える