가 TweetViewController 및 설정에 속성을 만듭니다 여기
- (IBAction)TweetViewController:(id)sender {
TweetViewController *Tweet = [[TweetViewController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:Tweet animated:YES];
}
내가 난수를 생성하는 방법에 대한 exemple입니다 그것을 제시하기 전에 :
- (IBAction)TweetViewController:(id)sender {
// Note: don't put leading capitals on a local variable
TweetViewController *tweet = [[TweetViewController alloc] initWithNibName:nil bundle:nil];
tweet.randomNumber = [self generateRandomNumber];
[self presentModalViewController:tweet animated:YES];
// Note: You were leaking the view controller
[tweet release];
}
다른 해결책 -initWithNumber:
("수"보다 조금 더 자세한 설명 아마 무엇인가라는 새로운 이니셜을 만드는)와 같이 호출하는 것이 얼마나 나는 보통 이런 종류의 일을 할) :
- (IBAction)TweetViewController:(id)sender {
TweetViewController *tweet = [[TweetViewController alloc] initWithNumber:[self generateRandomNumber]];
[self presentModalViewController:tweet animated:YES];
[tweet release];
}
-initWithNumber
다음과 같이 보일 것이다 :
를
- (TweetViewController *)initWithNumber:(NSInteger)number {
self = [super initWithNibName:nil bundle:nil];
if (self != nil) {
self.number = number;
}
return self;
}
답변 감사합니다. 내가 두 번째 방법을 시도하고 항상 initWithNumber를 사용할 때 그는 줄에서 말한다 : self.number = outputlabel; member 'number'에 대한 요청이 구조체 또는 유니온이 아니기 때문입니다 아마도 문제는 내가 코드에서 대체해야하는 것이 무엇인지 알 수 없다는 것입니다. 어떻게 임의의 코드를 생성합니까? 질문에 위의 번호. – Flocked
이 코드에서는 예제와 같이 "number"라는 속성이 있다고 가정했습니다. TweetViewController가이 숫자를 가지고있는 ivar를 가지고 있다고 가정합니다. 거의 확실하게 라벨 자체를 지나쳐서는 안됩니다. 레이블을 사용하여 데이터를 저장하지 마십시오. 데이터를 ivars에 저장하십시오. 그 ivars에서 레이블 '값을 설정합니다. 이것은 코코아가 의존하는 Model-View-Controller 패턴의 핵심 기능입니다. 그래서 위의 "숫자"를 UILabel로 변경했다면 그렇게하지 마십시오. 귀하의 예제에서 NSUInteger해야하며 countOfKilledPeople과 같은 속성이 있어야합니다. –