0

私がやりたいことは次のとおりです。

XCode 4.6.1 を使用して、iOS アプリを構築しています

データを含むテキスト ファイル (.txt) があります。サーバーから取得されます。含まれるデータは次のようなものです。

username:userid:realname:clienttype:clientversion:latitude:longitude:number:anothernumber:

したがって、データは「:」で区切られ、すべてのデータはユーザー定義です。

clienttype1 と clienttype2 の 2 種類のクライアントがあるため、次を使用して .txt ファイルを配列に分割しました。

NSArray *dataClient = [datafile componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]]; //to load txt file line for line in NSArray

NSIndexSet *clientindex = [data1 indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
    NSRange range = [(NSString *)obj rangeOfString:@":clienttype1:"];
    if (range.location != NSNotFound)
    {
        return YES;
    }
    return NO; // Set the index

NSArray *firstClients = [dataClient objectsAtIndexes:clientindex]; // create array with clienttype1 only

これで、clienttype1 データのオブジェクトのみを含む配列ができました。このように:

username:userid:realname:clienttype1:clientversion:latitude:longitude:number:anothernumber: username:userid:realname:clienttype1:clientversion:latitude:longitude:number:anothernumber:

ユーザーごとにデータを分離するにはどうすればよいですか(つまり、行ごとに、各行が異なるユーザーであるためです)。ユーザー名、ユーザーIDなどを使用できるようにします。例として、緯度によるプロットの場所。そしてロン。ユーザー名がタイトルの地図上。プロット、注釈の作成などの方法を知っています。それは、そのデータに到達する方法です。

行ごとに firstClients 配列の行を読み取って、各タイプのデータを別の配列に追加する方法を考えていました。方法: userNameArray、useridArray など。このようにして、配列ごとにデータを取得できます。しかし、これを行う方法。

どんな助けでも大歓迎です!

4

1 に答える 1

0

私の解決策を見つけました。より良いものがポップアップする場合は、アドバイスしてください。

これを使用しました:

for (int i = 0; i < [firstClients count]; i++) {
    NSString *oneLine = [atcClients objectAtIndex:i];

    NSArray *oneLineSeparated = [oneLine componentsSeparatedByString:@":"]; 
}

これで、ユーザー名、ユーザー ID、実名などの配列を取得しました。

于 2013-04-15T21:37:06.997 に答える