ios - 设置 UILabel 文本不起作用?

标签 ios uilabel

我有这个 XML 解析器类需要设置 UILabel 的文本。出于某种原因,当我从 XML 解析类调用我的外部(我的外部自定义方法位于 ViewController 中)自定义方法时,我无法更改标签文本。 NSLogging 或 UIAlert 之类的其他任何东西都可以。
我试图用以下代码来做到这一点:
XML 解析类

-(void) parser:(NSXMLParser *) parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
    if([elementName isEqualToString:@"names"]){
        NSLog(@"Found names body");

    }
    else if ([elementName isEqualToString:@"user"]){

 array = [attributeDict objectForKey:@"nameofuser"];
        ViewController * main = [[ViewController alloc] init];
        [main outputToLabel:array];

    }
    NSLog(@"Reading value: %@", elementName);
}


这是我的 ViewController 自定义方法:

-(void) outputToLabel:(NSArray *) dict{

    NSLog(@"seting %@ srcds", dict);
    // XML stuff here \/

NSLog(@"%@", dict);

       //                 /\

    this.text = @"Complete";
}

它 NSLogs 正确地输出值和一切...我只是无法设置标签文本。我可以在 viewDidLoad 中使用该代码,它工作正常。有什么想法吗?

最佳答案

    ViewController * main = [[ViewController alloc] init];
    [main outputToLabel:array];

您正在创建 ViewController 的新实例并在其中设置标签。 ViewController 的“真实”实例不受此操作的影响。

关于ios - 设置 UILabel 文本不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14469636/

相关文章:

objective-c - iPad 3 shouldRasterize = YES 使 UILabel 文本被截断

iphone - 将 UILabel 限制为 500 个字符,然后在 IOS 中截断 UIlabel

ios - 为什么更改步进值会导致 Xcode 中的代码崩溃?

iphone - 分发证书未显示在钥匙串(keychain)访问中

ios - 忽略子类 SKSpriteNode 触摸事件

ios - 在 iOS 上获取相对于地理北方的俯仰、滚动和偏航?

ios - 为什么这个标签看起来没有样式?

ios - Ionic 5 Capacitor - 如何在IOS上动态更改状态栏背景颜色

iphone - Javascript Youtube API : buffering for ever - UIWebView iOS

ios - 如何在 ios 中创建像 Facebook 这样的可点击标签?