ViewController에 NSString 속성 self.textFromTextVC가 있는데이 값은 IBAction 메서드에서 null이됩니다.NSString 속성이 IBAction 메서드에서 값을 잃습니다.
- (IBAction)buttonPressed:(id)sender
{
NSLog(@"text before alarm is created: %@", self.textFromTextVC);
}
아래의 메서드는 동일한 '.m'파일에 있으며 NSString 속성의 값을 유지합니다. 다음은
-(void)setPropertyTextToReceivedText:(NSString *)text
{
self.textFromTextVC = text;
NSLog(@"text received from text VC: %@", self.textFromTextVC);
[self doesStringKeepValue]; //I call this method to check and see if the NSString value
//was retained
}
-(void)doesStringKeepValue
{
NSLog(@"keep value: %@", self.textFromTextVC); //NSString value the same from the above
//method
}
내가있는 NSString 속성을 선언하는 방법이다 : 기본적으로
@property (nonatomic, copy) NSString *textFromTextVC;
, 나는 호출되는 IBAction를 방법 전에 self.textFromTextVC
를 설정 그리고 난 혼란 스러워요 이유입니다. 나는 정말로 무슨 일이 일어나고 있는지 잘 모르겠습니다. ARC를 선택했습니다. 나는 단순한 실수를 저 지르 길 원한다. .. 도움? 다음은
@implementation TextViewController
@synthesize typedText;
- (IBAction)doneButton:(id)sender {
[self.typedText resignFirstResponder];
AlarmViewController *receiver = [[AlarmViewController alloc]init];
[receiver setPropertyTextToReceivedText:self.typedText.text];
//[self showAlert];
}
'textFromTextVC'의 값은'buttonPressed :'에서 null이 될 수 없습니다. 왜냐하면 그것을 일으킬 수있는 코드가 없기 때문입니다. 메서드가 호출되기 전에 이미 null입니다. 따라서'textFromTextVC'가 초기 값으로 지정된 코드를 보여주십시오. – Codo
어디에서'setPropertyTextToReceivedText'를 호출합니까? –
@Codo setPropertyTexttoReceivedText 메소드에서 self.textFromTextVC를 지정합니다. – adam