【发布时间】:2014-06-30 23:44:19
【问题描述】:
我不太确定为什么这不起作用,但我有一个填充了各种数据的数组。我已经使用这个测试了数组中的行数:
println("Total Count: " + "\(testArray.count)")
这将返回 29 个项目。我还通过查看以下输出来验证每个键/值对都已填充:
for result : AnyObject in testArray
{
println(\"(result)")
}
但是,当我尝试让它打印任何给定值的输出时,只有第一个打印并且应用程序在第二个循环中崩溃。我在控制台中没有收到错误消息,但我收到了消息:
“线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)”
在代码中。这是完整的代码块:
for result : AnyObject in testArray
{
var testVariable = result.valueForKey("testColumn") as NSObject
println(testVariable)
}
应用程序在“var testVariable”行的第二个循环中崩溃。我做错了什么?
这是我数组中前两行数据的控制台输出:
<NSManagedObject: 0xd16e940> (entity: Shows; id: 0xd16fb40 <x-coredata://2DADFB50-FB10-4345-9252-1AFFF3598BBD/Shows/p22> ; data: {
showId = 2492;
showImageFilePath = "/Users/Andy/Library/Developer/CoreSimulator/Devices/2944D5A5-1D0A-4C23-BA74-54FEA1C2BB2E/data/Containers/Data/Application/8F6B6E36-87EA-45F8-94A7-F3E5278B8604/Documents\\ShowImages\\2492-All Shook Up.jp";
showIsCurrent = 1;
showIsWatched = 0;
showName = "All Shook Up";
showUrl = "http://lv.houseseats.com/member/tickets/view/?showid=2492";
})
<NSManagedObject: 0xd16ecf0> (entity: Shows; id: 0xd16fb50 <x-coredata://2DADFB50-FB10-4345-9252-1AFFF3598BBD/Shows/p50> ; data: <fault>)
<NSManagedObject: 0xd16eec0> (entity: Shows; id: 0xd16fb60 <x-coredata://2DADFB50-FB10-4345-9252-1AFFF3598BBD/Shows/p24> ; data: {
showId = 2719;
showImageFilePath = "/Users/Andy/Library/Developer/CoreSimulator/Devices/2944D5A5-1D0A-4C23-BA74-54FEA1C2BB2E/data/Containers/Data/Application/8F6B6E36-87EA-45F8-94A7-F3E5278B8604/Documents\\ShowImages\\2719-Bonkerz Comedy ";
showIsCurrent = 1;
showIsWatched = 0;
showName = "Bonkerz Comedy Club Presents: Rio Hillman";
showUrl = "http://lv.houseseats.com/member/tickets/view/?showid=2719";
})
另外,这是我第一次尝试为 iOS 编写代码以及在 Stack Overflow 上发帖,所以请多多包涵。谢谢。
【问题讨论】:
-
可以显示数组的内容吗?
-
当然。我更新了我原来的帖子。实际上,在第二个 NSManagedObject 上,它列出了
而不是任何值。这到底是什么意思?是否有用于 Xcode 的 SQLite 查看器,以便我可以轻松地可视化数据库中的所有数据?该数组来自使用 CoreData 使用存储数据。 -
请花时间正确格式化您的问题(尤其是代码)。