#import "Mutation.h" //my class
@implementation NTAppDelegate
왜 _mutation하지 컨트롤러이 코드의 인스턴스 범위는 무엇입니까? 범위 문제로 인해 충돌이 발생합니까?
@synthesize window = _window;
@synthesize dataField = _dataField;
@synthesize OutputField = _OutputField;
@synthesize mutation;
로 응용 프로그램 대리자를 사용하고 계십니까?
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
Mutation *aMutation = [[Mutation alloc] init];
[self setMutation:aMutation];
[self.mutation setInputString:@"new"];
[self.mutation setOutputString:@"old"];
NSLog(@"Mutation inputString is %@; outputString is %@",[mutation inputString],[mutation outputString]);
}
getUserText은 ... 텍스트 필드 입력 문자열을 내 돌연변이 개체에 바르로 스틱 가정 NSControl EUREKA에서
- (IBAction)getUserText:(NSTextField *)sender
{
// assign the users entered text to mutation's inputString
NSString* newText = [sender stringValue];
-stringValue INH입니다!
NSLog (@"%@ was entered", newText);
위는
[mutation setInputString:newText];
위의 충돌, 나쁜 판매를 WORKS? 돌연변이를 호출 할 수 없습니다. }
범위 문제로 인해 충돌이 발생하지 않습니다. 컴파일러 오류가 발생합니다. 마지막으로 게시 한 행은 어디에 있는가 ('[mutation setInputString : newText]')? –
'getUserText'에 있습니다 (해당 줄 다음에 닫는 중괄호를 포함하는 것을 잊었습니다). 당신이 가장 정확합니다, 괜찮아요, 컴파일하지만 'getUserText'(하지만 appDidFinish ...)에서 변이에 ivars에 액세스하려고 언제든지 덤프. 그래서 나는 사물을 선언 한 방법과 장소에 대해 우려하고 있습니다. 나는 "atreat"(첫 번째 대답)가 동의한다고 생각합니다. 다른 포인터를 보내주십시오! 고마워 –
BTW : 매우 구체적인 패턴을 따르지 않는 한 어떤 메소드도'get *'접두어를 붙여야합니다. – bbum