0

我想做的是以下几点:

我正在使用 XCode 4.6.1,构建一个 iOS 应用程序

我有一个包含我的数据的文本文件 (.txt)。它是从服务器获取的。它包含的数据是这样的:

用户名:用户 ID:实名:客户端类型:客户端版本:纬度:经度:号码:另一个号码:

所以数据用“:”分隔,所有数据都是用户定义的。

因为有两种类型的客户端:clienttype1 和 clienttype2 我已经将 .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 数据对象的数组。像这样:

用户名:用户 ID:实名:客户端类型 1:客户端版本:纬度:经度:号码:另一个号码: 用户名:用户 ID:实名:客户端类型 1:客户端版本:纬度:经度:号码:另一个号码:

如何分隔每个用户的数据(所以每行,因为每行都是不同的用户)。这样我就可以使用用户名、用户 ID 等。作为 lat 的示例绘图位置。和朗。在以用户名作为标题的地图上。我知道如何绘图,进行注释等。这只是如何获取这些数据。

我正在考虑一种方法来逐行读取 firstClients 数组,以将每种类型的数据添加到不同的数组中。方式为:userNameArray、useridArray 等。通过这种方式,我可以获取每个 Array 的数据。但是如何做到这一点。

欢迎任何帮助!

4

1 回答 1

0

好的,找到了我的解决方案。如果有更好的弹出请指教。

用了这个:

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

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

现在我得到了一个数组:用户名、用户名、实名等。

于 2013-04-15T21:37:06.997 回答