2014-03-03 60 views
0

我有一個C數組,其中包含用於撤消繪圖應用程序狀態的數據。 (它是一個CGImageRefs數組)但是,由於我無法將C數組聲明爲一個屬性,所有我的實例都訪問同一個數組以供撤銷。什麼是最簡單的方法,以便只有一個對象可以訪問給定的C數組,最好創建一個?防止其他對象訪問C數組

+0

使用'NSArray'屬性,並將'CGImageRef's強制轉換爲'id'來添加它們。 – Gavin

+0

你沒有道理。如果數組是從一個(非公共的)ivar尋址的,那麼該對象的類只能處理它。 –

+1

@HotLicks聽起來像數組是目前全球&OP不知道如何有一個C數組作爲屬性/伊娃 –

回答

0

我不能宣佈C數組作爲屬性

當然,您可以:

@property (assign, nonatomic) CGImageRef *imageArray; 

其他一些指針:

+0

哦謝謝!我正在使用NSUndoManager,但UndoManager使用該數組來恢復更改 - 它使用數組中的imageRef註冊撤消,並將其傳遞給另一個方法。 – PopKernel

+0

爲什麼不直接將CGImageRef直接傳遞給撤消管理器?如果您使用的是NSUndoManager,通常不需要跟蹤撤消管理的任何狀態。 –

+0

嗯,是的,我正在使用,[[self.undoManager prepareWithInvocationTarget:self] performUndoOrRedoWithValueForImage:imageArray [undoCount];我錯過了什麼嗎? – PopKernel