1
저는 현재 응용 프로그램 위임에 액세스해야하는 첫 번째 CoreData-Application을 작성하려고합니다. 그래서 저는 올바른 대의원이 있는지를 결정하기 위해 읽으려는 대의원 내부에서 약간의 변수를 만들려고했습니다. 그러나, 대신 내 대리인에 액세스 할 수없는 대신 새로운 하나를 만들 것 같습니다. "위임에 : 안녕하세요, 세계"다른 클래스에서 NSApplications 대리자에 액세스 하시겠습니까?
//delegate.h
#import <Cocoa/Cocoa.h>
@interface delegate_TestAppDelegate : NSObject <NSApplicationDelegate> {
@private
NSWindow *window;
NSString * myString;
}
@property (assign) IBOutlet NSWindow *window;
@property (retain) NSString * myString;
@end
//delegate.m
#import "delegate_TestAppDelegate.h"
@implementation delegate_TestAppDelegate
@synthesize window, myString;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
self.myString = @"Hello, World";
NSLog(@"In delegate: %@", self.myString);
}
@end
//MyClass.h
#import <Foundation/Foundation.h>
#import "delegate_TestAppDelegate.h"
@interface MyClass : NSObject {
@private
delegate_TestAppDelegate * del;
}
- (IBAction)click:(id)sender;
@end
//MyClass.m
#import "MyClass.h"
@implementation MyClass
- (id)init
{
self = [super init];
if (self) {
del = [[NSApplication sharedApplication] delegate];
}
return self;
}
- (void)dealloc
{
[super dealloc];
}
- (IBAction)click:(id)sender {
NSLog(@"Click: %@", del.myString);
}
@end
이상하게도,이 코드를 반환 :하지만 여기 내 코드입니다 "클릭 (널)" 는 어디에 오류가 무엇입니까?
어디에서 MyClass를 초기화합니까? – thomashw
인터페이스 작성기의 NSObject로 –