Динамическое создание объекта - PullRequest
1 голос
/ 20 января 2011

Я создал NSTableView, но это не отображается в NSWindow. Пример кода:

NSTableView *tbl = [[NSTableView alloc] initWithFrame:NSMakeRect(0,0,500,500)];
[window.contentView addSubview:tbl];

P.S. Мне нужно сделать заявку без IBOutlets только

Ответы [ 3 ]

1 голос
/ 20 января 2011

Этот код правильный.Убедитесь, что вы создали или загрузили окно (т. Е. window не является nil), и что вы дали ему представление содержимого (window.contentView не nil).

Такжене забудьте выпустить tbl.

0 голосов
/ 20 января 2011

почему вы не используете uitableview?это стандартный класс для табличного представления.

UITableView * tbl = [[[UITableView alloc] initWithFrame: NSMakeRect (0,0,500,500)] autorelease];[window.contentView addSubview: tbl];[window makeKeyAndVisible];

0 голосов
/ 20 января 2011

Попробуйте:

NSTableView *tbl = [[NSTableView alloc] initWithFrame:NSMakeRect(0,0,500,500)];
[window setContentView:tbl];
[tbl release];

Предполагается, что ваш window объект не nil и что вы правильно его инициализировали.

Обновление: см. здесь для получения информации о создании NSWindow видимым; а именно:

Открытие окна, то есть создание окна видимым, обычно выполняется путем помещения окна в список окон приложения путем вызова одного из методов makeKeyAndOrderFront :, orderFront:

Итак, после кода выше, добавили следующее, чтобы сделать окно видимым:

[window makeKeyAndOrderFront:self];
...