NSURL字符串内容到标签

时间:2014-06-09 00:24:19

标签: ios nsstring uilabel nsurl

当我按下按钮并将值发送到标签时,我试图从本地URL读取一些值。一旦我启动应用程序,我第一次按下按钮,我得到的价值。但是第二次按下按钮,即使NSLog消息继续显示该值,标签也没有文本。任何想法?

这是代码:

- (IBAction)refresh:(id)sender {

NSArray *listItems;


NSString *msg;
NSStringEncoding encoding;


NSURL *url = [NSURL URLWithString:@"http://192.168.1.177"];

NSData *data = [NSData dataWithContentsOfURL:url];

msg = [[NSString alloc] initWithData:data encoding:encoding];


listItems = [msg componentsSeparatedByString:@" "];

label.text = listItems[0];


NSLog(listItems[0]);

}

1 个答案:

答案 0 :(得分:0)

您的encoding变量永远不会使用值初始化,因此它的默认值为0,根据NSStringEncoding,它不是NSString.h的有效值。如果您在Xcode中运行静态分析器( Command - Shift - B ),您将收到一条消息,该消息具有未初始化的值使用

更改此行:

msg = [[NSString alloc] initWithData:data encoding:encoding];

到此:

msg = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

(替换相应的编码,但NSUTF8StringEncoding是一个很好的初步猜测。)

您还应该使用格式字符串进行记录:

NSLog(@"%@", listItems[0]);