2011-05-24 65 views
4

我是Mac編程新手。當我打開示例項目時,我經常在構建過程中收到「不推薦使用」的代碼警告。我想修復這些問題並使用XCode 4獲得一個乾淨的版本。如何找到不推薦使用的代碼的解決方案?

當蘋果不贊成某事時,我該如何找出爲什麼它被棄用?

更重要的是,如何找出什麼是「新」正確的方式來實施棄用任務?

例如,我看到棄用警告:QTMovieSizeDidChangeNotification,writeWithBackupToFile,documentForFileName,shouldCreateUI,setShowPanels,QTMovieCurrentSizeAttribute等等。

回答

1

在文檔中查找已棄用的內容。通常情況下,有一個說明可以用來代替使用。

例如,對於writeWithBackupToFile:ofType:saveOperation:該文件說:

This method is called by action methods to save document contents to a file. (Deprecated in Mac OS X v10.4. Use writeSafelyToURL:ofType:forSaveOperation:error: instead.)

+0

謝謝。我跟隨你的領導。對於其他人來說,我在Apple開發者網站的QTMetadataEditor中找到了很好的示例代碼。 – Brian 2011-05-25 15:56:09

5

中查找方法的文檔中 - 它們顯示過時方法並告訴你的首選方法是什麼。

例如writeWithBackupToFile被明確標記爲棄用,並顯示應該使用writeSafelyToURL:ofType:forSaveOperation:error:來代替。

shouldCreateUI相同,這表明應該使用openUntitledDocumentAndDisplay:error:openDocumentWithContentsOfURL:display:error:來代替。

另外,請閱讀文檔中的其他方法 - 您將找到所需的東西。例如,您將QTMovieSizeDidChangeNotification列爲不推薦使用(在QuickTime 7.6.3中)。在文檔的上方可以看到QTMovieNaturalSizeDidChangeNotification,自從QuickTime 7.6.3以來它已經可用)。改爲使用它。

+0

非常感謝。 – Brian 2011-05-24 23:24:40

+0

+1和@Brian:閱讀「發行註記」也可以非常有幫助,如果在乾燥的一面。 – 2011-05-25 02:37:35

+0

@Abizem我一直在研究和測試更多。謝謝,所有。我已成功清除了一半折舊警告。此外,發現QTMovieNaturalSizeDidChangeNotification不是QTMovieSizeDidChangeNotification的替代品。同樣,QTMovieNaturalSizeAttribute不是QTMovieCurrentSizeAttribute的替代品。自然尺寸是指QTMovie的原始分辨率,而「當前尺寸」是指顯示QTMovie的分辨率(這也可以是電影正在解碼的分辨率,可以從原始尺寸進行調整)。任何想法找到新的方式? – Brian 2011-05-25 15:21:26

0

搜索該方法/函數/常量的文檔。它應該在那裏列出使用什麼,或者至少提出一個顯然有其他方法做類似的類的類。

相關問題