解析iPhone中的数组元素

解析iPhone中的数组元素,iphone,arrays,parsing,coordinates,Iphone,Arrays,Parsing,Coordinates,内容如下: 87348~51347~135132~182133~268346~236347~159168~87,347@118,298~115,297~200,298~189,266~128,265~117,299@222,352~268,353~264,340~219,342~225,355@186,262~199299~212297~195257~188260 阵列是: 87348, 51,347, 135,132, 182,133, 268,346, 236,347, 159,168, 8

内容如下:

87348~51347~135132~182133~268346~236347~159168~87,347@118,298~115,297~200,298~189,266~128,265~117,299@222,352~268,353~264,340~219,342~225,355@186,262~199299~212297~195257~188260

阵列是:

87348, 51,347, 135,132, 182,133, 268,346, 236,347, 159,168, 87,347@118,298, 115,297, 200,298, 189,266, 128,265, 117,299@222,352, 268,353, 264,340, 219,342, 225,355@186,262, 199,299, 212,297, 195,257, 188260

但我想通过使用@解析再次创建一个数组。请帮帮我

    NSBundle *bundle = [NSBundle mainBundle];
    NSString *pthpath = [bundle pathForResource:@"path" ofType:@"txt"];
    NSString *content = [NSString stringWithContentsOfFile:pthpath encoding:NSUTF8StringEncoding error:nil];
    array=[[NSArray alloc ]init];
    array = [content componentsSeparatedByString:@"~"];
=====================================================================

下次请尝试将您的问题更好地格式化和表达。

不要使用componentsSeparatedByString:,而是使用ComponentsSeparatedByCharactersSet:,并使用所需的分隔符创建一个字符集


另外,您正在创建一个数组array=[[NSArray alloc]init],当您创建array=[content componentsSeparatedByString:@]时,您正在泄漏刚刚分配的数组。一般来说,似乎您应该阅读更多关于对象和引用如何工作的内容。

如果我正确理解了您的问题,我想从下面的代码中您可能会了解一些情况

for (NSString *string in array) {
    NSArray *subArray = [string componentsSeparatedByString:@"@"];
    for (NSString *substring in subArray)
       etc. etc.

隐形男/女问的问题。请不要问重复的问题,我已将第二个问题合并到此中。为了从数组泄漏中恢复,我还使用retain,直到它完全正常工作。请给我代码以再次拆分得到的数组,使用~我在第一句话中提供了您需要的所有代码。如果你不能使用我给你的东西,你就不应该这样做。即使保留,也会发生泄漏,因为您将数组指向一个内存位置,初始化该内存位置,然后将其指向其他位置,这样第一个内存位置仍然被分配,并且没有人使用或释放它。
NSMutableArray *resultArray = [[NSMutableArray alloc] initWithCapacity:1];
    NSArray *tempArray1 = nil;
    NSArray *tempArray2 = nil;
    NSString *content = @"87,348~51,347~135,132~182,133~268,346~236,347~159,168~87,347@118,298~115,297~200,298~189,266~128,265~117,299@222,352~268,353~264,340~219,342~225,355@186,262~199,299~212,297~195,257~188,260";
    tempArray1 = [content componentsSeparatedByString:@"@"];
    for(NSString *string in tempArray1)
    {
        tempArray2 = [string componentsSeparatedByString:@"~"];
        [resultArray addObjectsFromArray:tempArray2];
    }

    NSLog(@"ResultArray :%@", resultArray);