該參考文件說: 「您應該只從應用程序的主線程調用此函數。」
但我想從單獨的線程獲取當前的圖形上下文。你怎麼看?我能做些什麼來達到這個目的?UIGraphicsGetCurrentContext線程問題
編輯: 謝謝你們的答案。目前我不知道這對我有好處,但非常感謝。
該參考文件說: 「您應該只從應用程序的主線程調用此函數。」
但我想從單獨的線程獲取當前的圖形上下文。你怎麼看?我能做些什麼來達到這個目的?UIGraphicsGetCurrentContext線程問題
編輯: 謝謝你們的答案。目前我不知道這對我有好處,但非常感謝。
如果要從其他線程繪製,請創建自己的CGBitmapContext或使用CATiledLayer。
我會說重構你的邏輯,以符合參考的建議。
一般而言,關於你應該做和不應該做的事情是準確的。
爲什麼你想從不同的線程訪問它?
我想使用線程在3或6個不同的視圖中繪製PDF文檔。那麼你能否以另一種方式建議我?我不想先創建UIImages,然後將它們添加到視圖中。有沒有什麼好的解決方案? – 2010-05-30 20:49:25
切勿從主線程以外的任何東西畫到屏幕上!圖形芯片是單線程的,所以如果你不遵循這個規則,你可能會導致各種競爭條件。
您可以繪製到背景NSImage,然後在完成後通知主線程並更新屏幕。
這是正確的答案。創建您自己的CGBitmapContext。有關示例,請參閱Quartz繪圖指南。 – orange 2010-05-31 21:00:40
CGBitmapContext也不錯,但CATiledLayer對我更好。 :) 另外,我會建議其他人想與pdfs一起工作與CATiledLayer。 – 2010-06-01 10:41:20