2013-02-03 100 views
0

我是Iphone開發新手。我的問題是我有一個自定義對象的NSMutableArray。每個對象具有4個屬性,即名稱(NSString),圖像(UIImage),按鈕(UIButton)和與其相關聯的布爾值。按鈕以編程方式隨機生成,並在視圖加載時置於視圖中(viewDidLoad內)。如何保存這組對象並在用戶退出後重新生成對象,然後重新進入應用程序。按鈕還必須保留其在視圖上的位置。 在此先感謝。保存和加載自定義對象

回答

0

您可能會使用ARC,一種GC。 所有對象在退出參考時都會被釋放。 我可以告訴你2個想法來保留這些對象。

1:將這些對象保留在父ViewController或Delegate類上。

您可以事先在父ViewControler或Delegate類中聲明所有對象。

NSMutableCustomArray *customArray = [NSMutableCustomArray array]; 
[customArray setParameters]; 
ChildView *childView = [[ChildView alloc] init]; 
[customArray setCustomArray:customArray]; 
[self.view addSubview:ChildView]; 

除非父親存在,否則customArray中的所有對象都不會出去。

2:使用CoreData或NSUserDefaults。

如果你想簡單的數據,字符串,布爾等NSUserDefaults是如此有用。 至於UIButton,你必須恢復位置令人累贅。

[defaults setObject:string forKey:@"customString"]; 
[defaults setFloat:10.0 forKey:@"button_x"]; 
[defaults setFloat:10.0 forKey:@"button_y"]; 
[defaults setFloat:10.0 forKey:@"button_width"]; 
[defaults setFloat:10.0 forKey:@"button_height"]; 
+0

的而不是單獨手動處理的x/y /寬度/高度,可以使用'NSStringFromCGRect()'編碼'frame'字符串,並存儲在'NSUserDefaults'該字符串。加載時,您可以使用'CGRectFromString()'從字符串中創建一個CGRect。 – Kitsune

+0

@akiniwa非常感謝你.. !! –

+0

@Kitsune那太棒了! :) ..非常感謝你!..它使用'NSStringFromCGRect()'保存按鈕幀的過程不​​那麼累人。 –

相關問題