0
A
回答
0
如果你想保留數組,直到退出應用程序,在分配它的App Delegate的-init
方法,並將其發佈到App Delegate的-dealloc
方法中。除非您在內存管理中犯了一個錯誤並且多次釋放陣列,否則它將在應用程序的整個生命週期中可用。
例如:
@interface MyApp <NSApplicationDelegate>
{
NSArray *myArray;
}
@end
@implementation MyApp
- (id)init
{
if (nil != (self = [super init]))
{
myArray = [[NSArray alloc] init];
}
return self;
}
- (void)dealloc
{
[myArray release], myArray = nil;
[super dealloc];
}
@end
0
如果我理解正確,你要存儲一個NSArray的實例盤?
在這種情況下使用[NSKeyedArchiver archiveRootObject:myArray toFile:path]
的文件夾來存儲文件時可以用下式確定:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
2
可以保留在應用程序委託類的對象,而在申請終止發行。
即
在應用程序委託類
@interface MyAppDelegate : NSObject <UIApplicationDelegate>
{
UIWindow *window;
NSMutableArray *arrayObjects;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) NSMutableArray *arrayObjects;
現在你可以使用分配給委託類的實例arrayObjects,您還可以使用存儲在陣列中的價值。
MyAppDelegate *appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication]delegate];
appDelegate.arrayObjects = [[NSMutableArray alloc] initWithObjects:@"Object 1",@"Object 2",@"Object 3",nil];
這將保留數組中的值。現在,您可以在正確初始化之後使用數組中的任何位置。
相關問題
- 1. 只要應用程序打開/運行,如何保持WakeLock?
- 2. 運行程序後保留一個值?
- 3. NSDirearies的NSArray的內存保留
- 4. 如何運行只有一個應用程序的實例
- 5. Android:如何讓設備只運行一個應用程序?
- 6. 如何在Scala中保留一個對象在內存中?
- 7. 如何在linux應用程序中保留命令行空格?
- 8. iPhone應用程序版本 - 哪一個要保留?
- 9. PHP應用程序如何將數據保存在內存中?
- 10. 當應用程序關閉時,將Firebase偵聽程序保留在內存中
- 11. 在laravel中爲整個應用程序保留一個變量
- 12. 如何在Web應用程序運行時保留用於解密的密鑰
- 13. 如何強制C#.net應用程序在Windows中只運行一個實例?
- 14. 如何保留應用程序數據?
- 15. 如何在內存中保留一個位圖
- 16. 如何運行在一個ASP.NET應用程序一個C#主
- 17. 如何確保只有單個進程在線程中運行
- 18. 如何確保只有一個守護進程正在運行?
- 19. 即使應用程序未運行,我如何保存整數?
- 20. 如何保存上次應用程序運行時的日期?
- 21. 如何強制存儲過程進行預緩存並保留在內存中?
- 22. 如何在Cocoa中運行另一個應用程序後運行我自己的應用程序?例如,
- 23. 在應用程序內保存密碼
- 24. 如何確保只有我的應用程序的單個實例運行?
- 25. 保存在Eclipse中運行外部應用程序
- 26. 如果我的asp.net應用程序產生一個進程,該進程是否在asp.net應用程序運行的同一個應用程序域內運行?
- 27. 使用Python運行Excel宏(但Excel進程保留在內存中)
- 28. 創建一個運行一次只-Java應用程序
- 29. 即使在關閉MainWindow後,Qt應用程序仍保留在內存中
- 30. 如何讓Java應用程序運行更多內存?
保存數組的含義是什麼?你是否想永久保存它,或者你想保存到應用程序的生命週期? – Jim 2010-06-29 12:44:32
這個問題沒有任何意義。也許你應該描述你的情況,你的意思是「保存」 – jamone 2010-06-29 12:44:35
感謝jim我想保存它直到應用程序結束... – 2010-06-29 12:47:46