从txt文件到NSArray的数据

时间:2013-04-14 22:36:27

标签: objective-c xcode parsing text nsarray

我想做的是以下内容:

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

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

  

用户名:用户ID:实名:clienttype:客户机版本:纬度:经度:编号:anothernumber:

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

因为有两种类型的客户端: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:实名:clienttype1:客户机版本:纬度:经度:编号:anothernumber:   用户名:用户标识:真实姓名:clienttype1:客户机版本:纬度:经度:编号:anothernumber:

如何分隔每个用户的数据(因此每行,因为每行是不同的用户)。这样我就可以使用用户名,用户ID等。 作为示例,通过lat绘制位置。和lon。用户名作为标题的地图上。我知道如何绘制,制作注释等。这就是如何获取数据。

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

欢迎任何帮助!

1 个答案:

答案 0 :(得分:0)

好的找到我的解决方案。如果弹出更好的东西请告知。

使用它:

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

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

现在我得到了一个包含:username,userid,realname等的数组。