조건부를 통해 문자열을 전달하는 몇 개의 클래스가 있습니다. 결국, View Controller는 그것을 포착하여 자신이 소유 한 레이블의 텍스트로 설정합니다. 지금까지 대부분 작동하지만 레이블 텍스트는 변경되지 않습니다. 하지만 NSLog를 통해 ViewController가 올바른 문자열을보고 있음을 알 수 있습니다.레이블 텍스트는 변경되지 않지만 뷰는 변수를받습니다.
'.H'
@interface ViewController : UIViewController
{
}
@property (strong,nonatomic) IBOutlet UILabel *theLabel;
@property (strong,nonatomic) NSString *theString;
-(void)setLabelText:(NSString*)someString;
는
-(void)setLabelText:(NSString*)someString {
NSLog(@"VC:%@",someString); //writes out the desired string fine!
theLabel.text = someString; //doesn't display the text
}
.m
viewDidLoad
에서 방법을, 어떤 임의의 문자열을 입력하고 그것은 나타날 것이다. 그러나, 나는이 방법에서 그것을 바꿀 수 없다. 어떤 도움을 주시면 감사하겠습니다.
"보낸 사람"
-(void)sendToMain:(NSString*)string{
ViewController *newController = [ViewController alloc];
[newController setLabelText:string];
}
'ip'는 어디에 정의되어 있습니까? – Undo
@Undo 죄송합니다. 코드가 수정되었습니다. – Carpetfizz
코드 끝 부분에 이것을 넣으십시오 :'NSLog (@ "% @", theLabel);', 그리고 그것이 무엇을 제공하는지보십시오. – Undo