Как мне найти решения для устаревшего кода? - PullRequest
4 голосов
/ 25 мая 2011

Я новичок в программировании на Mac. Когда я открываю примеры проектов, я часто получаю «устаревшие» предупреждения кода во время сборки. Я хотел бы исправить это и получить чистую сборку с использованием XCode 4.

Когда Apple что-то осуждает, как узнать, почему это устарело?

Что более важно, как я могу узнать, каков «новый» правильный способ реализации устаревшей задачи?

Например, я вижу предупреждения об устаревании для: QTMovieSizeDidChangeNotification, writeWithBackupToFile, documentForFileName, shouldCreateUI, setShowPanels, QTMovieCurrentSizeAttribute и многих других.

Ответы [ 3 ]

5 голосов
/ 25 мая 2011

Посмотрите метод в документации - они показывают устаревшие методы и говорят вам, какие предпочтительные методы.

Например, writeWithBackupToFile четко помечен как устаревший и показывает, что вместо него следует использовать writeSafelyToURL:ofType:forSaveOperation:error:.

То же самое с shouldCreateUI, который показывает, что вместо него следует использовать openUntitledDocumentAndDisplay:error: или openDocumentWithContentsOfURL:display:error:.

Кроме того, прочитайте другие методы в документации - вы найдете вещи, которые делают то, что вам нужно. Например, вы указываете QTMovieSizeDidChangeNotification как устаревший (в QuickTime 7.6.3). Прямо над ним в документации вы можете увидеть QTMovieNaturalSizeDidChangeNotification, который был доступен с QuickTime 7.6.3). Используйте это вместо этого.

1 голос
/ 25 мая 2011

Ищите устаревшие вещи в документации. Обычно есть примечание, которое предлагает, что использовать вместо.

Например, документация для writeWithBackupToFile:ofType:saveOperation: гласит:

Этот метод вызывается методами действия для сохранения содержимого документа в файл. ( Устаревший в Mac OS X v10.4. Используйте writeSafelyToURL: ofType: forSaveOperation: ошибка: вместо. )

0 голосов
/ 25 мая 2011

Поиск документации для этого метода / функции / константы.Там должно быть указано, что использовать вместо этого, или, по крайней мере, вызвать класс, который, очевидно, имеет другие методы, которые делают что-то подобное.

...