首先,我要感谢大家努力解决我的问题。我有点像个诺比,所以任何帮助都会很感激。
我已经声明(NSString *data)已经从一个网站检索到了内容。我已经通过代码的各个部分测试了数据是否在字符串中,并且它是正确的。
字符串中的数据完全如下:
blah 2222,3333,1111 222 444 5555,blah 3333,4444,2222 333 555,blah 4444,5555,3333 444 666
这种模式持续了一段时间。我希望在数组中解析这个数据,这样它就被",“分隔开了。因此,我声明了一个名为(NSArray *storage)的数组,然后我将这样做:
storage = [dat componentsSeperatedByString:","];然后我有一个名为(UILabel *label)的标签。它通过接口生成器连接,属性设置和综合。
然后我去:
label.text = [storage objectAtIndex:0];我运行Iphone模拟器,当我在应用程序中按下将激活更改的按钮时,iphone模拟器就存在于所有应用程序所在的主屏幕上。为什么会发生这种情况?为什么它不显示blah 2222
谢谢!
发布于 2011-08-07 16:41:41
componentsSeparatedByString:返回一个自动释放的数组。当您点击按钮时,您的storage数组可能已经被解除了。对数组使用保留的属性,而不是直接将其分配给实例变量。
发布于 2011-08-07 16:28:24
您可以使用以下代码:
NSString *data = @"blah 2222, 3333, 1111 222 444 5555,<br/> blah 3333, 4444, 2222 333 555, <br/> blah 4444, 5555, 3333 444 666";
NSArray *storage = [data componentSeparatedBy:@","];
NSString *first= [data objectAtIndex:0];
NSString *second = [data objectAtIndex:1];
///... and so on
//or
label.text = [data objectAtIndex:2];https://stackoverflow.com/questions/6973870
复制相似问题