componentsSeparatedByString为数组返回nil

时间:2012-04-13 07:30:13

标签: iphone nsstring

我有一个问题,当我尝试分离字符串并从相同的usingcomponentsSeparatedByString中获取数组时,stringis具有值但是当它为数组提供值时,数组值始终为null,请帮助我,我已附加代码下面。

    self.str_amenitiesValues = [[NSString alloc] init];
    self.str_amenitiesValues = [[arr_HotspotDetails valueForKey:@"Amenities"] objectAtIndex:0];
    self.arr_amenities_values =[[NSArray alloc] init];

    if (![self.str_amenitiesValues isEqualToString:@""]) 
    {
        //NSLog(@"%@",[self.str_amenitiesValues componentsSeparatedByString:@","]);   
        self.arr_amenities_values = [self.str_amenitiesValues componentsSeparatedByString:@","];
    }

3 个答案:

答案 0 :(得分:1)

你是否100%确定str_amenitiesvalues是“5,6,7,8,9,10,11,12”?我刚做了一个快速测试,这就是我得到的:

NSString *test = @"5,6,7,8,9,10,11,12";
NSArray *testArray = [test componentsSeparatedByString:@","];
NSLog(@"test: %@ \n testArray: %@", test, testArray);

日志输出:

test: 5,6,7,8,9,10,11,12 
testArray: (
5,
6,
7,
8,
9,
10,
11,
12
)

所以我建议你仔细检查字符串str_amenitiesvalues的内容

答案 1 :(得分:0)

我认为您需要在不同阶段获取所有变量的值,以便您可以弄清楚发生了什么,因为除了字符串的内容之外,似乎没有任何理由它不起作用。

答案 2 :(得分:-1)

将您的行设为:

self.arr_amenities_values = [[self.str_amenitiesValues componentsSeparatedByString:@","] retain];

请告诉我这是否对您有所帮助。