UILabel のテキストを設定する必要があるこの XML パーサー クラスがあります。何らかの理由で、XML 解析クラスから外部 (外部カスタム メソッドは ViewController にあります) カスタム メソッドを呼び出すと、ラベル テキストを変更できません。NSLogging が機能するか、UIAlert が機能するなど、他のものはすべて機能します。
コードはそれをやろうとしています:
XML Parsing class
-(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";
}
値とすべてを正しくNSLogします...ラベルテキストを設定できません。そのコードを viewDidLoad で使用でき、正常に動作します。何か案は?