Я программировал некоторое время, но совсем недавно решил начать разработку для Mac OS X. Я чувствую, что за прошлую неделю я познакомился с основами разработки Objective-C и Cocoa. Я планирую создавать графические приложения, и в настоящее время я нахожусь в процессе обучения тому, как управлять композициями Quartz с помощью приложения Cocoa. Я прошел учебник, который предлагает Apple (с композицией Mac Engravings), и смог создать его просто отлично. Чтобы убедиться, что я действительно понял то, что я узнал, я решил создать свою собственную композицию и связать ее с немного более сложным приложением Cocoa.
По сути, у меня есть композиция, которая загружает фильм или изображение через патч Movie Loader, после чего он применяет различные фильтры к кадрам перед их выводом. В моем приложении Cocoa я написал код (точнее, скопированный и вставленный из других примеров яблок), который позволяет пользователю выбирать файл с помощью объекта NSOpenPanel. Путь к файлу выбранного файла помещается в текстовое поле, которое я поместил в окно приложения с помощью Interface Builder. Я связал значение указанного текстового поля с ключом «Movie_Location» в моей композиции, который является опубликованным вводом в патче Movie Loader, который я использую. Однако независимо от того, что я делаю, фильмы и изображения не загружаются в эту композицию, что бы я ни пытался. Единственное, что отображается, - это изображение по умолчанию, которое я сохранил во входных данных из Quartz Composer (или ничего, если я оставлю его пустым перед публикацией).
Я добавил в композицию патч «Очистить цвет» и связал его с цветовой ячейкой в моем пользовательском интерфейсе, и это успешно меняет цвет на моем дисплее, поэтому я знаю, что композиция и мое приложение Cocoa взаимодействуют. В этот момент я провел много часов, пытаясь выяснить, что происходит, и я почти сдался. Есть ли в Movie Loader какие-то странные поведения, о которых я не знаю, или есть что-то очевидное, чего мне не хватает? Буду очень признателен за любую помощь или совет от кого-либо.
Спасибо, что прочитали это ...
Лучшее,
Сами