2011-06-19 39 views
6

當我需要一個整數添加到一個數組我用iPhone - 添加一個CGPath到NSMutableArray ...怎麼樣?

[myArray addObject:[NSNumber numberWithInt:myInt]]; 

但什麼CGPaths?我如何將它們添加到數組中?

我需要這樣的東西

"[NSValue valueWithCGPath:myPath]"... ???!!! 

任何線索?感謝

+2

你可能想看看這個問題:http://stackoverflow.com/questions/4240481/how-to-store-cggradientref-in-nsmutablearray – albertamg

+0

這是輝煌的,謝謝。它將用於我正在做的其他事情,但是對於這種情況它會崩潰,因爲在將對象添加到數組後,我將其歸檔。由於CGPaths是CFType,歸檔崩潰......但無論如何,正如我所說的,它將用於同一應用中的其他目的。謝謝!!!!! +1 – SpaceDog

回答

11

,如果你能定位到iOS 3.2或更高版本的最簡單方法是包裹在CGPathRef一個UIBezierPath

[myArray addObject:[UIBezierPath bezierPathWithCGPath:myPath]]; 

如果需要支持早期的iOS版本,你可以使用NSArray因爲CFArray代替CGPath來自CFType

+0

謝謝。我已經嘗試過,但我的問題是這樣的:在將所有路徑添加到數組後,使用您發佈的代碼,我使用NSKeyedArchiver將其歸檔。當我試圖解除這個問題時,它崩潰了。有沒有辦法將路徑轉換爲另一個東西(而不是UIBezierPath),然後將其存儲在數組中?我只是爲了存檔目的而構建這個數組。 – SpaceDog

+0

你確定檔案實際上產生了什麼?你應該發佈一個單獨的問題,如何存檔和恢復UIBezier路徑。您可能必須手動存儲點和路徑元數據。 –

+0

肯德爾 - ** [這裏是](http://stackoverflow.com/questions/6400284/iphone-storing-and-retrieving-a-uibezierpath-with-nskeyedarchiver-crashing)**沒有任何工作的解決方案。是的,歸檔文件正在存儲數據,bezier數據在解壓縮時成功加載到NSData變量,但是當我嘗試解碼數據並生成UIBezierPath時,它會崩潰。 – SpaceDog

相關問題