<IOS>开发中存储文件及配置的方式
1.write to方式保存到沙盒目录下的documents文件夹下:
这种方式适合字符串数组的存储。
//获得当前程序的沙盒目录路径 NSString *path = NSHomeDirectory(); //拼接要保存的文件全路径,这个方法会自动在@“Document...”前面加斜杠 path = [path stringByAppendingPathComponent:@"Documents/student.plist"];///从文件创建数组 NSArray *array = [NSArray arrayWithContentsOfFile:path]; //将内容写入文件中 [mArray writeToFile:path atomically:YES];
2.NSUserDefaults的使用:(优点是不用关心存储格式,存取操作很方便,用于存储小的变量)(对同一个关键字赋值将会对数据重写,旧数据被清理)
创建一个user defaults
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
添加数据到 user defaults:
[ud setObject:nameField.text forKey:UserDefaultNameKey];
也可以添加基本数据类型int, float, bool等,有相应得方法
[ud setBool:YES forKey:UserDefaultBoolKey];
从user defaults中获取数据:
[ud objectForKey:NCUserDefaultNameKey]
[ud boolForKey: UserDefaultBoolKey];
在程序进入后台执行或者有需要的时候进行
[ud synchonize];
3.[NSBundle mainBundle]方式
bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译好的代码等等。我们的程序是一个bundle. 在Finder中,一个应用程序看上去和其他文件没有什么区别. 但是实际上它是一个包含了nib文件,编译代码,以及其他资源的目录. 我们把这个目录叫做程序的main bundle。bundle可用于本地化。
NSBundle *myBundle = [NSBundle mainBundle];//得到程序的main bundle
NSBundle *goodBundle = [NSBundle bundleWithPath:@"~/.myApp/Good.bundle"];//从指定路径来取得bundle
//访问bundle中的资源
NSString *path = [goodBundle pathForImageResource:@"Mom"];
NSImage *momPhoto = [[NSImage alloc] initWithContentsOfFile:path];
//bundle中可以包含一个库. 如果我们从库得到一个class, bundle会连接库,并查找该类:
Class newClass = [goodBundle classNamed:@"Rover"];
id newInstance = [[newClass alloc] init];
如果不知到class名,也可以通过查找主要类来取得
Class aClass = [goodBundle principalClass];
id anInstance = [[aClass alloc] init];
4.数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现