NSArrayにtxtファイルとストアを読み込む方法は?

私はtxtファイルを読み込み、NSArrayに格納しようとしています。ここに私のコードですが、私は知らない何かが見えないのです!

NSURL *url=[NSURL URLWithString:@"http://www.google.com/robots.txt"];

    NSMutableArray *robots=[NSMutableArray arrayWithContentsOfURL:url];

    NSLog(@"%@",robots);
1
私は@anticyclopeがこれを釘付けにしたと思っていますが、何が間違っているのかをもっと言いなさい - 単に「何かが欠けている」と言っても、あなたが何を期待しているのか、何を見ているのか、
追加された 著者 Ben Zotto,

1 答え

最初にURLの内容を文字列にロードする必要があります

NSString *content = [NSString stringWithContentsOfURL:URL encoding:NSUTF8StringEncoding error:nil];

次に、この文字列を次のように分割します。

NSArray *parsed = [content componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

parsed 配列にURLの文字列が含まれるようになりました。

編集:

配列をフィルタリングする場合は、次のコードを追加します。

NSIndexSet *indexes = [parsed indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
    NSRange range = [(NSString *)obj rangeOfString:@"Disallow"];
    if (range.location != NSNotFound)
    {
        return YES; 
    }
    return NO;
}];

NSArray *disallowed = [parsed objectsAtIndexes:indexes];

disallowed will be populated with the strings that contains Disallow string

6
追加された
ありがとう、それは助けた! @ "Disallow"文字列を含む行だけを返すにはどうすればよいですか?
追加された 著者 saleh Hosseinkahni,
最初の行は何ですか?それは方法ですか?これらのパラメータは何ですか?
追加された 著者 saleh Hosseinkahni,
どうもありがとうございますが、問題があると思っています。それはうまく動作しません。あなたはそれをチェックすることができますか?
追加された 著者 saleh Hosseinkahni,
この行は、インデックスobオブジェクトを返します。これは、いくつかのテストに渡され、この場合は部分文字列一致です。配列内のすべてのオブジェクトを列挙し、このオブジェクトがテストに合格しているかどうかを確認します。これは、他の言語の無名関数のようなObjective-C機能であるブロックを使用して、列挙された各項目に対してテストを実行します。部分文字列が一致する場合はYESを返し、そうでない場合はYESを返します。 objは配列のオブジェクト、idxはそのインデックスです。また、テストを停止したい場合は、stop変数にYESを返します。
追加された 著者 anticyclope,
ブロックはiOS 4/Mac OS X 10.6で導入されました。 Mac OS X 10.7で私の仕事をしてください。
追加された 著者 anticyclope,