将数组保存到 plist

2023-12-23

我正在尝试将一些项目存储到pList。这是数组循环:

for (id obj in items)
NSLog(@"obj: %@", obj);

输出 NSLog:

2013-03-27 13:00:40.072 mycode[47436:c07] obj: Red
2013-03-27 13:00:40.073 mycode[47436:c07] obj: Blue
2013-03-27 13:00:40.073 mycode[47436:c07] obj: Green

// arrayWithObjects 有效。但我不知道如何(循环?)通过我的项目保存到 plist 文件中......

        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        NSString *path = [documentsDirectory stringByAppendingPathComponent:@"data.plist"];


    NSFileManager *filemgr;
    filemgr = [NSFileManager defaultManager];

    if ([filemgr fileExistsAtPath: path]) {
        NSLog(@"%@", path);

    NSMutableDictionary *plist = [[NSDictionary dictionaryWithContentsOfFile:path] mutableCopy];
    NSMutableArray *newArray = [[[NSMutableArray alloc] init] autorelease];
    newArray = [NSArray arrayWithObjects:@"Red", @"Green", @"Blue" nil]; // <--- WORKS!
    newArray = [NSArray arrayWithObjects:items, nil]; // <-- ? 
    [plist setObject:newArray forKey:@"Hi"];
    [plist writeToFile:path atomically:YES];
    [plist release];


    } else {
        NSLog(@"File not found");
    }

    [filemgr release]; 

也许这段代码对你有帮助。

NSMutableArray *newArray = [[[NSMutableArray alloc] init] autorelease];
NSMutableArray *targetArray = [[[NSMutableArray alloc] init] autorelease];

newArray = [NSArray arrayWithObjects:@"Red", @"Green", @"Blue" nil];
for(int i=0;i<newArray.count;i++)
{
 [targetArray addObject:[newArray objectAtIndex:i]];

}
[plist setObject:targetArray forKey:@"Hi"];
[plist writeToFile:path atomically:YES];

或其他方法

NSMutableArray *targetArray = [[[NSMutableArray alloc] init] autorelease];

for (id obj in items)
{
 [targetArray addObject:items];
 }
[plist setObject:targetArray forKey:@"Hi"];
[plist writeToFile:path atomically:YES];

希望这可以帮助 !!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将数组保存到 plist 的相关文章

  • iPhone——是否可以在 Xcode 调试器中检查 UIView 的框架?

    当调试器在断点处停止时 我在那里找不到任何 UIView 的框架 是否有可能做到这一点 编辑 由于缺乏回应而开始赏金 需要明确的是 我正在寻找一种在不添加额外调试代码的情况下查看框架的方法 另外 如果答案是 不 你不能这样做 赏金将用于解释
  • Java控制台显示对象的地址而不是实际值[重复]

    这个问题在这里已经有答案了 好的 我正在用 Java 处理一个简单的数组 问题是 当我运行程序时 我得到的是对象的地址而不是实际值 我还发现循环 数组有问题 它应该显示房屋 3 5 和 7 但底部显示的是 3 4 和 5 我哪里出错了 请参
  • Xcode 推送通知:用于生产模式的 APNS 服务器

    我正在实现我的第一个带有推送通知的应用程序 我已经完成了以下所有调试雷 万德利奇教程 http www raywenderlich com 3443 apple push notification services tutorial par
  • JSON 为 foreach() 提供的参数无效

    我在从 JSON 检索数据时遇到一些问题 它总是说为 foreach 提供的参数无效 这是 url php 中的 JSON nama IT SERVICE SOLUTION nilai 0 periode 11 tahun 2014 nam
  • 保存录制的 AVAudioRecorder 声音文件:现在怎么办? (iOS、Xcode 4)

    在我的应用程序中 我希望用户能够录制一个声音文件并播放它 然后保存该声音文件以供以后使用 我用了本教程 http www techotopia com index php Recording Audio on an iPhone with
  • 使用 for 循环 Python 为数组赋值

    我正在尝试将字符串的值分配给不同的数组索引 但我收到一个名为 列表分配超出范围 的错误 uuidVal distVal uuidArray distArray for i in range len returnedList for beac
  • Swift - 本地通知不会被触发

    我正在 Swift 3 中编码 我只是想发送通知now没有任何延迟或间隔 然而 通知永远不会被触发 这是我的代码 视图控制器代码 import UserNotifications class HomeViewController UIVie
  • 部署目标是什么意思?

    这是我假设的一个非常简单的问题 有人可以告诉我部署目标是什么意思吗 如果我选择 iOS 10 是否意味着只有 iOS 10 的用户才能下载该应用程序 选择较低的部署目标是否不好 另外 继续部署目标 是否不建议在较低的部署目标上运行 假设您已
  • 故事板 - 不支持的配置 8 个冲突的约束

    我正在使用故事板自动布局 我今天在编写警告消息时注意到 MainStoryboard iphone storyboard Unsupported Configuration 8 conflicting constraints 单击警告会进入
  • Scrapy - 持续从数据库中获取要爬取的url

    我想不断地从数据库中获取要爬行的网址 到目前为止 我成功地从基地获取了 url 但我希望我的蜘蛛继续从该基地读取 因为该表将由另一个线程填充 我有一个管道 一旦爬行 工作 就会从表中删除 url 换句话说 我想使用我的数据库作为队列 我尝试
  • 自定义字体显示在 IB 中,但不显示在模拟器中

    我已经设置了一个UITextView and a UILabel使用自定义字体 它是垂直镜像的蒙古文字体 但我还添加了英文文本 以便您可以看到效果 这些文字显示在 Interface Builder 中 但在模拟器中大部分字符都在UITex
  • Fortran 指针数组

    同样 Fortran 中的指针数组 好吧 我有一个派生类型 type t context pointer type t context pointer p ctx end type t context pointer 当我在主程序中执行以下
  • 带闭包的默认属性值使编译器重新编译所有文件

    This source https developer apple com library content documentation Swift Conceptual Swift Programming Language Initiali
  • 将 Javascript 对象的属性从 string 更改为 int

    我有一个对象数组 每个对象具有三个属性 年份 总计 人均 例子 0 Object per capita 125 8 total 1007 2 year 2009 这些属性是字符串 我想创建一个循环来遍历数组并将它们转换为 int 我尝试了以
  • XCode 无法将 iPhone 应用程序部署到 iPhone 3GS

    因此 我构建了我的 iPhone 应用程序 它在模拟器中运行良好 因此我想将其部署到我的 iPhone 上进行最后一轮测试 然后再使用我的分发配置文件进行公开 Beta 测试 我已经这样做过很多次了 从来没有出现过问题 然而 自从上次测试运
  • 标准转换:数组到指针的转换

    这是ISO的观点 标准转换 数组到指针的转换 4 2 1 数组 类型的左值或右值 N T 或 未知边界的数组 T 可以转换为右值 类型为 指向 T 的指针 结果是 指向第一个元素的指针 数组 如果可能的话 任何人都可以用一个示例程序来解释这
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • ios水平居中约束问题?

    I am having hard time in learning constraints auto layout in iOS I have used any width any height I have a storyboard sc
  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None

随机推荐

  • missModalViewControllerAnimated 非原子的?

    看来我有一个奇怪的时间问题 我打开 uiimagepicker 作为模态视图 当用户选择图像或我想要拍摄图像时 将其保存到变量中 然后以模态视图打开电子邮件界面 我的问题是 我在图像选择器上调用dismissModalViewControl
  • Visual Studio 2017 和 SAP Crystal Reports

    我已经下载并安装了视觉工作室 2017 社区之后我下载并安装了Crystal Report 支持包 20 v 13 0 20 2399 我打开了视觉工作室2017并创建一个新项目 然后右键单击我的项目 然后单击添加项目 我寻找水晶报告 rp
  • 提升文件末尾序列化

    我使用 Boost 将多个对象序列化为二进制存档 当从 a 读回这些对象时binary iarchive 有没有办法知道存档中有多少对象 或者只是检测存档结尾的方法 我发现的唯一方法是使用 try catch 来检测流异常 提前致谢 我可以
  • ggplot:如何根据相对于绘图宽度的边距来换行标题文本

    当使用绘图时ggplot2 如何将标题文本换行以适应相对于绘图整个宽度的边距 library ggplot2 library stringr my title lt c reltively long sentences that norma
  • 在 Objective-C 框架中使用 Swift 闭包

    我正在使用 MCSwipeTableViewCell 框架来实现可滑动的 tableviewcell 内的完成块之一cellForRowAtIndexPath函数看起来像这样 cell setSwipeGestureWithView che
  • 在 Xamarin Forms 中加载查看内容时显示活动指示器

    有没有办法在页面内容视图渲染或加载时显示活动指示器 我问这个是因为当我在页面中有很多控件并且我想导航到该页面时 需要几秒钟的时间到页面 所以我想知道是否有一种方法可以即时导航页面 并且当页面出现时显示加载内容的活动指示器 以及当内容加载时显
  • JavaFX的任务似乎消耗异常。这是一个错误还是一个功能?

    考虑这段代码 Thread setDefaultUncaughtExceptionHandler Thread t Throwable e gt System out println An exception occurred set th
  • 如何取消并重新启动 C# 任务 [重复]

    这个问题在这里已经有答案了 我有一个长时间运行 长时间间隔的轮询过程 我需要能够强制更新并重新启动轮询 我想到的最明显的事情是取消轮询任务 并开始一个新的任务 因为初始循环总是更新 我试图找出最好的方法来做到这一点 使用 Operation
  • 搜索 API 中的模糊搜索

    Azure 搜索 api 提供了一个模糊参数来提供建议 像这样 https blssuggestions search windows net indexes cities docs suggest api version 2015 02
  • matlab中的递归函数

    我如何在matlab中编写递归函数 它基本上是一个马尔可夫链 我尝试为它编写一个伪代码 并且是新的MATLAB 该函数是这样的 P Probability x status 0 1 Dij probability to pick a sit
  • 为什么我的代码行在等待之后没有被调用?

    我对以下代码有问题 firebase login 返回一个 Promise 我了解到 当我之前输入 await 时 Javascript 会等待 Promise 交付 然后继续下一行 I 但下一行似乎永远不会被触发 我究竟做错了什么 它也不
  • GetProcessMemoryInfo PROCESS_MEMORY_COUNTERS_EX.PrivateUsage 始终为 0

    我在用着获取进程内存信息 https msdn microsoft com en us library windows desktop ms683219 v vs 85 aspx函数通过 PID 确定进程内存使用情况 与常规的PROCESS
  • 如何在打包程序提供脚本中传递参数?

    我正在努力将输入参数传递给打包程序配置脚本 我尝试过各种选择但没有喜悦 目标是我的provision sh应该接受我在打包器构建期间发送的输入参数 packer build var role abc test json 我能够在 json
  • pthreads:快速重新锁定导致的线程饥饿

    我有两个线程 一个在紧密循环中工作 另一个偶尔需要与第一个线程执行同步 thread 1 while 1 lock work perform work unlock work thread 2 while 1 unrelated work
  • 如何使用MFC CScrollbar控件?

    我已将水平 CScrollBar 控件放到对话框中 你到底怎么用它 我尝试将手柄移至右侧 但它直接跳回左侧 所以我想我可能需要设置范围 我调用了 SetScrollRange 0 100 它仍然做同样的事情 我在 Google 上找不到任何
  • 通过以太网直接连接笔记本电脑和arduino

    我用 Arduino 和以太网盾做了一个项目 Arduino 托管着一个网站 我可以通过笔记本电脑上的浏览器打开该网站 Arduino 通过以太网连接到路由器 所有这些都工作得很好 现在我必须在学校展示这个项目 为了防止出现令人不快的意外
  • 任何人都可以定义 Windows PE 校验和算法吗?

    我想用 C 实现这个 我看过这里 http www codeproject com KB cpp PEChecksum aspx http www codeproject com KB cpp PEChecksum aspx 并且我知道 I
  • .NET Core 应用程序是否可以从 AWS Certificate Manager 检索证书并在 HttpClient 帖子中使用它?

    我的 Net core 应用程序使用 HttpClient 向外部 Web 服务发出发布请求 外部 Web 服务需要证书进行验证 证书安装在 AWS 中 并且我有一个指向该证书的 ARN 是否可以以编程方式从 AWS Certificate
  • 奇怪的 IE 行为:currentStyle 返回 null

    我在 IE8 中遇到奇怪的行为 这似乎是 IE 错误 但我不确定 当从元素访问 currentStyle 字段时 它返回 null 如果我在监视窗口中查看其属性 我可以看到它已定义并且可以查看其成员 看来 如果我事先调用属性 那么它将返回正
  • 将数组保存到 plist

    我正在尝试将一些项目存储到pList 这是数组循环 for id obj in items NSLog obj obj 输出 NSLog 2013 03 27 13 00 40 072 mycode 47436 c07 obj Red 20