【问题标题】:NSURL string content to a labelNSURL 字符串内容到标签
【发布时间】:2014-07-29 12:25:35
【问题描述】:

当我按下按钮并将值发送到标签时,我试图从本地 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]);

}

【问题讨论】:

    标签: ios nsstring uilabel nsurl


    【解决方案1】:

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

    改变这一行:

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

    到这里:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-07-14
      • 2018-02-12
      • 2015-07-07
      • 2014-09-29
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多