코코아를 배우고 있는데 문제가 있습니다. NSMutableArray의 내용을 NSTableView에 바인딩으로 바인딩하고 싶습니다. 나는 그들에 관한 많은 문서를 읽었지 만 나는 그것들을 작동하게 만들 수 없다. (내 테이블에는 아무것도 표시되지 않는다.) MTMTask.mNSTableView를 NSMutableArray에 바인딩하기
MTMTask.h
@interface MTMTask : NSObject {
NSString *priority;
NSString *text;
}
@property(copy) NSString* priority;
@property(copy) NSString* text;
- (id) initWithPriority :(NSString*)newPriority andText:(NSString*)newText;
@end
:
내가 2 곳,priority
및
text
을 포함
MTMTask
라는 간단한 모델을 만들어 : 여기
는 사실이다
#import "MTMTask.h"
@implementation MTMTask
@synthesize text, priority;
- (id) initWithPriority:(NSString *)newPriority andText:(NSString *)newText {
if (self = [super init]) {
priority = newPriority;
text = newText;
return self;
}
return nil;
}
@end
그런 다음 저는 cre
#import "MTMTaskController.h"
@implementation MTMTaskController
- (void) awakeFromNib
{
MTMTask *task1 = [[MTMTask alloc] initWithPriority:@"high" andText:@"Feed the hungry cat"];
MTMTask *task2 = [[MTMTask alloc] initWithPriority:@"low" andText:@"Visit my family"];
_tasksList = [[NSMutableArray alloc] initWithObjects:task1, task2, nil];
}
- (NSMutableArray*) tasksList
{
return _tasksList;
}
@end
MTMTaskController.m
MTMTaskController.h
#import <Cocoa/Cocoa.h>
#import "MTMTask.h"
@interface MTMTaskController : NSObject {
NSMutableArray *_tasksList;
}
- (NSMutableArray *) tasksList;
@end
그리고 마지막으로 나는 MainMenu.xib 편집 : 다음 MTMTaskController를 ated에 나는 NSObject
을 추가 MTMTaskController
에 해당 클래스를 설정합니다. 그런 다음 TasksListController
이라는 NSArrayController를 추가하고 내용 콘센트를 MTMTaskController.tasksList
에 바인딩했습니다. 또한 모드를 Class
으로 설정하고 클래스 이름을 MTMTask
으로 설정했습니다. 나는 value
NSTableView
두 열의 콘센트를 TasksListController
텍스트와 우선 순위로 묶었습니다.
그러나 프로그램을 실행할 때 실제로 성공하지는 않습니다. 테이블에 아무것도 표시되지 않습니다.
내 문제에 대한 아이디어가 있으십니까? 나는 뭔가를 놓치고 있다고 생각하지만 나는 무엇을 알 수 없다.
미리 감사드립니다.
컨트롤러와 개체가 실제로 만들어지고 있는지 확인하기 위해 중단 점을 설정 했습니까?컨트롤러를 xib 파일에 객체로 추가하는 것을 잊었을 수도 있습니다.이 경우'awakeFromNib'는 호출되지 않습니다. – Abizern
방금 시도 : 나는'awakeFromNib'에 NSLog() 호출을 넣었고 콘솔에 표시됩니다. 문제가없는 것처럼 보입니다. – Thomas