TBXMLSuccessBlock
およびTBXMLFailureBlock
は、指定されたURLからのXMLデータの取得が成功および失敗するための条件を実装するための効率的な方法として使用されます。Objective-Cブロックの詳細については、Appleのブロックプログラミングガイドを参照してください。
使用方法のサンプルコードが必要な場合は、次のようになります(最新バージョンのTBXMLを使用)。
TBXMLSuccessBlock s = ^(TBXML *tbxml) {
NSLog(@"yay");
// Do something with TBXML object "tbxml
// ...
// An example - print the name of an element
TBXMLElement *e = [TBXML childElementNamed:@"head" parentElement:tbxml.rootXMLElement];
NSString *a = [TBXML elementName:e];
NSLog(@"%@",a);
};
TBXMLFailureBlock f = ^(TBXML *tbxml, NSError *error) {
// Do something to recover from the failure here
// ....
NSLog(@"nay");
};
[TBXML newTBXMLWithURL:[NSURL URLWithString:@"http://www.google.co.nz"]
success: s
failure: f];
このコードを実行するとき、次のURLにアクセスできる場合は、TBXMLSuccessBlockが実行されます。Webサイトにアクセスできない場合は、TBXMLFailureBlockが実行されます。
ちなみに、使用しているライブラリが非ARCであり(ライブラリが静的または動的ライブラリではなくソースコードであると想定)、それをARC化されたソースに統合しようとしている場合は、Xcodeでこれを行うことができます。 xcodeprojファイル->ビルドフェーズ->ソースのコンパイルに移動し、ARCを使用しない.mファイルごとに、コンパイラ-fno-objc-arc
にARCでコンパイルしないように指示するコンパイラフラグを入力します。