如何在核心数据中存储数组(Swift)

2023-11-23

我的代码读取一个文本文件并将该文件的内容存储在一个数组中。我在下一步时遇到困难;将数组的内容传输到 Core Data 中。 .txt 文件只是水果的简短列表。实体是“Fruit”,属性是“fruitname”。

当我打印时,只显示最后一个数组元素。这是我的代码:-

    import UIKit
    import CoreData

    class ViewController: UIViewController {

    override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.


    // STORE .TXT FILE IN ARRAY.....
    let bundle = NSBundle.mainBundle()
    let fruitList = bundle.pathForResource("List of Fruits", ofType: "txt")

    let fruitArray = String(contentsOfFile: fruitList!, encoding: NSUTF8StringEncoding, error: nil)!.componentsSeparatedByString("\r")


    for x in fruitArray {
        println(x)

    }

    // STORE FRUIT-ARRAY IN CORE DATA......
    var appDel = UIApplication.sharedApplication().delegate as AppDelegate

    var context : NSManagedObjectContext! = appDel.managedObjectContext!

    var newFruit = NSEntityDescription.insertNewObjectForEntityForName("Fruit", inManagedObjectContext: context) as NSManagedObject

    for fruit in fruitArray {

        newFruit.setValue(fruit, forKey: "fruitname")
    }

    context.save(nil)


    // RETRIEVE AND PRINT STORED VALUES....
    var request = NSFetchRequest(entityName: "Fruit")
    request.returnsObjectsAsFaults = false

    var results = context.executeFetchRequest(request, error: nil)

    println(results)

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

}

这是两个 println 语句的输出......

// 水果数组的Println 苹果 杏 香蕉 覆盆子 黑莓 蓝莓 椰子 蔓越莓 日期 火龙果 如图 葡萄 番石榴 甘露 猕猴桃 柠檬 酸橙 荔枝 芒果 瓜 橙子 木瓜 菠萝 覆盆子 杨桃 草莓 西瓜

//核心数据的Println

选修的(........ 水果名称=西瓜; })]

有人可以帮助确保 FruitArray 中的所有内容都保存在核心数据中吗?提前致谢。


您只创建了一个newFruit。因此,你的for fruit in fruitArray循环只是重复地重新分配fruitname财产。

将您的代码更改为:

for fruit in fruitArray {
  var newFruit = NSEntityDescription.insertNewObjectForEntityForName ("Fruit", 
     inManagedObjectContext: context) as NSManagedObject

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

如何在核心数据中存储数组(Swift) 的相关文章

随机推荐

  • 这是在 C++ 中实现有界缓冲区的正确方法吗?

    Closed 这个问题是无关 目前不接受答案 我正在开发一个程序 该程序处理多个线程访问 存入和从有界缓冲区容器中取出的问题 我注意到线程的一些主要问题 并怀疑我的缓冲区在某处部分或根本不正确 为了确保我知道我在做什么 我希望检查一下我的缓
  • 通过 HTML/PHP 使用 htaccess 自定义登录

    我正在开发一个网站 该网站的目录受 htaccess 保护 我想创建一个自定义登录页面 而不是依赖浏览器默认页面 有人对此有经验吗 我想通过 HTML 表单进行连接 有人觉得可能吗 Thanks 是的 这是可能的 但您不应该使用 htacc
  • 在视图中显示当地时间

    在 config application rb 中 我的文件中有 config time zone UTC 不带引号 我假设这是为了将输入到视图中的用户时间转换为存储在数据库中的 UTC 我的问题是 如何将数据库中的 UTC 值转换为用户的
  • 创建 iOS/OSX 框架:在分发给其他开发人员之前是否有必要对其进行协同设计?

    我正在学习如何创建 iOS 和 OSX 框架 让我们以 iOS 为例 到目前为止 以下步骤对我有效 使用 sdk iphonesimulator 和 Build 操作的 xcodebuild 框架 使用 sdk iphoneos 和 Bui
  • 使用 iOS hooks 将照片发布到 Instagram

    我在 iOS 应用程序中使用以下代码来使用 Instagram iPhone 挂钩将照片发布到 Instagram 我只希望 打开方式 菜单有 Instagram 应用程序 没有其他应用程序 但就我而言 Camera 也出现了 如何限制 I
  • 在 slime REPL 中使用 clojure.contrib 函数

    我想在 REPL 的 slime 中使用 clojure contrib trace 命名空间中的函数 我怎样才能让史莱姆自动加载它们 一个相关的问题 如何将特定的命名空间添加到正在运行的 repl 中 在 clojure contrib
  • 尝试使用 ImageMagick 将 200 个 jpg 文件转换为 mp4。一遍又一遍地收到相同的错误

    我正在尝试将 200 个 ppm 文件中的 jpg 文件转换为一个 mp4 文件 在与 jpg 文件相同的目录中 我运行了以下代码 convert delay 6 quality 95 test ppm movie mp4 并收到此错误消息
  • 将参数列表传递给 shell 中的命令

    如果我有一个文件列表说file1 file20 如何运行以文件列表作为参数的命令 例如myccommand file1 file2 file20 如果你的列表在你的参数向量中 也就是说 如果你从以下内容开始 yourscript file1
  • 如何应用 ndimage.generic_filter()

    我正在尝试学习 ndimage 但不知道如何通用过滤器 功能有效 文档提到用户函数将应用于用户定义的足迹 但不知何故我无法做到 这是示例 gt gt gt import numpy as np gt gt gt from scipy imp
  • 如何从视图控制器以编程方式绘制一条线?

    我有一个UIViewController 如何在以编程方式创建的视图之一中画一条线 有两种常见的技术 Using CAShapeLayer 创建一个UIBezierPath 将坐标替换为您想要的任何坐标 UIBezierPath path
  • 在 WCF 测试客户端 (WcfTestClient.exe) 中按字母顺序列出服务操作

    我经常使用WCF测试客户端 不幸的是 该工具不按字母顺序排序 也不按 出现顺序 在服务合同类中声明操作的顺序 排序 如果有很多操作 那么很难找到具体的操作 有没有办法强制 WCF 测试客户端按字母顺序对操作进行排序 默认排序从何而来 尽管似
  • 使用自适应语法[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在尝试实现一种语法可以动态更改的语言 或语言族 我没有找到可以作为研究案例的例子 您能给我一些在现实世界 甚至是学术界 中实际使用的参考吗 使用
  • 如何增加 freebase API 结果限制

    我在 freebase 的文档中找不到任何相关内容 但他们似乎将结果数量限制为 100 例如 type base popstra celebrity name null 仅返回 100 个结果 而 type base popstra cel
  • 如何可视化堆转储?

    我们使用 golang 开发了一个服务器 它将接收并发请求并处理请求 创建大对象 树 然后发回回复 但这些对象不会被垃圾回收 所以我决定分析内存中的对象 首先 我编写了一个简单的程序 package main import fmt io i
  • 64 位领域中的堆碎片

    过去 当我研究长期运行的 C 守护进程时 我必须处理堆碎片问题 为了避免耗尽连续的堆空间 需要保留大量分配池之类的技巧 对于 64 位地址空间来说这仍然是一个问题吗 性能对我来说不是一个问题 所以我更愿意简化我的代码 不再处理缓冲池之类的事
  • 在 Emacs 中将光标移动到 12 个月旋转日历上的日期的算法

    GOAL 此线程的目标是创建两 2 个数学公式 以替换函数中 lawlist 的长手解lawlist calendar cursor to visible date 以下 故事问题 Emacs 中现在存在一个 12 个月的日历 每次向前和向
  • 正则表达式用逗号分隔千位并保留两位小数

    我最近在回答另一个 StackOverflow 问题时想到了这段代码 基本上 在模糊时 此代码将正确地以千位逗号分隔 并将小数点保留为两位数 就像美元的书写方式 7 745 56 我想知道是否有更简洁的方法使用正则表达式到 分隔并截掉多余的
  • Spring Security 3.0:如何指定自定义过滤器应用的 URL?

    我正在将 Spring Security 3 0 与 JSP 结合使用 我创建了一个 RequireVerificationFilter 它将未经验证的用户重定向到 验证您的电子邮件 页面 我将过滤器添加到了 Spring Security
  • 结合 Clojure defprotocol 和 defrecord

    据我所知 如果我想定义一个协议 defprotocol 只会由一个人实现defrecord 我还是要先定义协议 然后定义defrecord实现它的 defprotocol AProtocol a method this b method t
  • 如何在核心数据中存储数组(Swift)

    我的代码读取一个文本文件并将该文件的内容存储在一个数组中 我在下一步时遇到困难 将数组的内容传输到 Core Data 中 txt 文件只是水果的简短列表 实体是 Fruit 属性是 fruitname 当我打印时 只显示最后一个数组元素