Comments 27
Хороший пример. Я думаю, что стоило бы еще расширить его альтернативной версией, без биндингов, дабы показать, как бингинги иногда упрощают работу (впрочем, иногда они ее ой как усложняют).
+2
«фреймворки вроде Qt… не обеспечивают нативный Look and Feel»
ЧТО?!
ЧТО?!
-4
— «ЧТО?!»
Джонатан Айв о Qt-приложении для Mac OS X
Джонатан Айв о Qt-приложении для Mac OS X
+5
Пользуюсь KeePassX, которая как раз написана на Qt. И могу сказать что она ужасна как в плане внешнего вида, так и в плане юзабилити.
+3
Блог называется «Разработка под Apple iOS», а разработка программы под Mac?
+3
Глядя на URL блога (http://habrahabr.ru/blogs/macosxdev/136265/), думаю что macosxdev обозначает общее название для двух этих платформ.
0
И еще думаю что при разработке под iOS используются те же подходы.
Поэтому статья должна быть интересна и разработчикам под iOS.
Поэтому статья должна быть интересна и разработчикам под iOS.
0
Изначально блог был как раз про разработку про мак, iPhone SDK тогда еще даже не вышла, потом по не понятной причине его переименовали (и как верно уже заметил заметили, в URL следы остались), а альтернативы не оставили. Тут уместнее другой вопрос — что тут делают посты про iOS?
+1
Пожалуйста, поправьте или перенесите этот топик таким образом, чтобы читатель ясно понимал — все, о чем здесь сказано имеет отношение к программированию только и исключительно под Mac OS X. В iOS используется совершенно другой подход и иные техники работы с таблицами.
+1
Забыл добавить: спасибо! )
+1
По-моему что речь идет именно о Mac OS X понятно уже из первого предложения.
Во время публикации этот блог мне показался самым подходящим. Как написал int80h выше этот блог был первоначально предназначен для Mac OS X, потом переименован в iOS. Отсюда и путаница.
Альтернативный вариант — блог Mac OS X, но мне кажется там публикуются статьи не относящиеся к разработке.
Во время публикации этот блог мне показался самым подходящим. Как написал int80h выше этот блог был первоначально предназначен для Mac OS X, потом переименован в iOS. Отсюда и путаница.
Альтернативный вариант — блог Mac OS X, но мне кажется там публикуются статьи не относящиеся к разработке.
+1
Ну я бы не был столь категоричен, в ios тоже можно использовать KVC & KVO
0
KVC и KVO-то есть. А Cocoa Bindings нет. NSCell, NSArrayController тоже отсутствуют. Не говоря уж о таких критически важных для целевой аудитории таких статей нюансов, как разные имена классов и методов в UIKit и AppKit.
Однако, чего только на свете не бывает. Если научите, как применить KVC и KVO для заполнения данных таблицы без использования делегатов (пусть даже программно, без работы с IB) — буду благодарен.
Однако, чего только на свете не бывает. Если научите, как применить KVC и KVO для заполнения данных таблицы без использования делегатов (пусть даже программно, без работы с IB) — буду благодарен.
0
На счёт биндингов честно, не знаю, надо попробовать, в своих проектах IB не использую. Но тем не менее, на мой взгляд, некоторые пересечения есть, пусть и не такие большие.
А на счёт заполненеия таблицы без делегата, только если использовать какие нибудь надстройки, можно посмотреть в сторону нимбуса, на сколько я помню, он может принимать массив описания ячеек и создавать тайбл вью.
А на счёт заполненеия таблицы без делегата, только если использовать какие нибудь надстройки, можно посмотреть в сторону нимбуса, на сколько я помню, он может принимать массив описания ячеек и создавать тайбл вью.
0
Офигеть! Я больше не верю в случайности!
Я начал изучать Cocoa 2 недели назад и сейчас настал момент изучить Table View для одной цели. 3 дня искал нормальные туториалы на всех возможных ресурсах (developer.apple.com; stack Overflow etc.) Последние 3 дня. И тут на любимом ресурсе такая прекрасная статья.
Извините за текст. Эмоции нахлынули от радости. Надеюсь, правильно меня поймут.
Я начал изучать Cocoa 2 недели назад и сейчас настал момент изучить Table View для одной цели. 3 дня искал нормальные туториалы на всех возможных ресурсах (developer.apple.com; stack Overflow etc.) Последние 3 дня. И тут на любимом ресурсе такая прекрасная статья.
Извините за текст. Эмоции нахлынули от радости. Надеюсь, правильно меня поймут.
0
А причем тут Apple iOS? Ведь статья касается только Mac OS.
-2
Хотелось бы увидеть, как реализовать тоже самое, но без использования IB.
0
Для этого можно использовать класс NSTimer и метод scheduledTimerWithTimeInterval этого класса [5].
Но не нужно. Для данного примера лучше использовать NSWorkspaceDidLaunchApplicationNotification и NSWorkspaceDidTerminateApplicationNotification [4].
Добавляем в applicationDidFinishLaunching:
Изменяем прототип метода (и сам метод) updateProcessList:
Меняем вызов этого метода в applicationDidFinishLaunching на:
Не забываем отписаться от уведомлений в applicationWillTerminate:
Но не нужно. Для данного примера лучше использовать NSWorkspaceDidLaunchApplicationNotification и NSWorkspaceDidTerminateApplicationNotification [4].
Добавляем в applicationDidFinishLaunching:
NSNotificationCenter *wsc = [[NSWorkspace sharedWorkspace] notificationCenter];
[wsc addObserver:self selector:@selector(updateProcessList:) name:NSWorkspaceDidLaunchApplicationNotification object:nil];
[wsc addObserver:self selector:@selector(updateProcessList:) name:NSWorkspaceDidTerminateApplicationNotification object:nil];
Изменяем прототип метода (и сам метод) updateProcessList:
- (void) updateProcessList:(NSNotification*)notification;
Меняем вызов этого метода в applicationDidFinishLaunching на:
[self updateProcessList:nil];
Не забываем отписаться от уведомлений в applicationWillTerminate:
NSNotificationCenter *wsc = [[NSWorkspace sharedWorkspace] notificationCenter];
[wsc removeObserver:self name:NSWorkspaceDidLaunchApplicationNotification object:nil];
[wsc removeObserver:self name:NSWorkspaceDidTerminateApplicationNotification object:nil];
+2
Сразу же хочется сказать спасибо за то, что указываете версию xCode, которую используете.
Когда я начинал разбираться в программировании для mac OS и читал статьи с информацией и примерами приложений сильно терялся от того, что вид моего xCode иногда кардинально отличался от того, который был в примерах, что вызывало у меня ярое негодование. А отличался он всегда, так как переводы на русский выходили с огромной задержкой, да и количество весьма скудное.
Когда я начинал разбираться в программировании для mac OS и читал статьи с информацией и примерами приложений сильно терялся от того, что вид моего xCode иногда кардинально отличался от того, который был в примерах, что вызывало у меня ярое негодование. А отличался он всегда, так как переводы на русский выходили с огромной задержкой, да и количество весьма скудное.
+1
При быстром скроллинге списка процессов строки отображаются неверно, повторяются и наезжают друг на друга.
Ещё у новичков типа меня в Xcode 4.3 могут быть проблемы с этим:
скриншот
Ещё у новичков типа меня в Xcode 4.3 могут быть проблемы с этим:
Затем открываем Size inspector и на картинке Autosizing выбираем все элементы — это необходимо, чтобы Table View растягивалась вместе с окном.Autosizing просто может не отображаться, в этом случае по совету со Stackoverflow нужно в File Inspector (первая вкладка в правом сайдбаре) снять галочку с Use Auto Layout.
0
Sign up to leave a comment.
Использование Table View