- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
抱歉给您带来不便,我是 iOS 初学者,遇到问题...
我有一个 JSON、CoreData 和 TableView,JSON 从网络获取并保存在文档文件夹中。之后,必须用它填充 CoreData 和 TableView 中保存的 JSON 中的一些值。 F.E. 我们采用 event_title..
我有一个 Controller :
import Foundation
import UIKit
import CoreLocation
import CoreData
class QuestListViewController: UIViewController, UITableViewDataSource,UITableViewDelegate {
let managedObjectContext = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext
let eventscd = [Events]()
@IBOutlet weak var questsTabBarItem: UITabBarItem!
var questCode : String = ""
var numberofcells:Int = 0
@IBOutlet weak var tableView: UITableView!
var numbers:[String] = []
override func viewDidLoad() {
super.viewDidLoad()
let entity = NSEntityDescription.entityForName("Events", inManagedObjectContext: managedObjectContext!)
let events = Events(entity: entity!, insertIntoManagedObjectContext: managedObjectContext)
var error: NSError?
var jsonError:NSError?
let jsonBundle = NSBundle.mainBundle()
let jsonFolder = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]as! String
let jsonPath = jsonFolder.stringByAppendingPathComponent("\(self.questCode).json")
if let data = NSData(contentsOfFile:jsonPath, options:NSDataReadingOptions.DataReadingUncached, error:&jsonError) {
let stringData = NSString(data: data, encoding: NSUTF8StringEncoding)
let jsonDict : NSDictionary? = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &jsonError) as? NSDictionary
if let err = jsonError {
println("error parsing json")
}
if let jsonDictionary = jsonDict {
println("json parsed successfully")
let json_data = JSON(jsonDictionary).arrayValue
let id = jsonDictionary["id"]!.stringValue
let version: AnyObject = jsonDictionary["version"]!
let title: AnyObject = jsonDictionary["title"]!
let description: AnyObject = jsonDictionary["description"]!
let events_json = jsonDictionary["events"] as! NSArray
let eventNumber: NSNumber = jsonDictionary["events"]!.count as NSNumber
self.numberofcells = events_json.count
}
}
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - Table view data source
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: true)
let row = indexPath.row
}
// MARK: - Set number of rows
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.numberofcells
}
// MARK: - Create cell
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell
cell.backgroundColor = UIColor.clearColor()
cell.backgroundView = UIView.new()
cell.selectedBackgroundView = UIView.new()
var imageView = UIImageView(frame: CGRectMake(10, 10, cell.frame.width - 0.3, cell.frame.height - 0.3))
let image = UIImage(named: "event_list_cell.png")
imageView.image = image
cell.backgroundView = UIView()
cell.backgroundView!.addSubview(imageView)
var row = indexPath.row
let eventsc = eventscd[indexPath.row] /////HERE IS FATAL BREAKPOINT
// cell.textLabel?.text = eventTable[row] as? String
cell.textLabel?.text = eventsc.valueForKey("event_title")![row] as? String
return cell
}
}
事件类: 进口基金会 导入核心数据
@objc(Events) class Events: NSManagedObject {
@NSManaged var title: String
@NSManaged var event_title: String
}
还有一个 CoreMap: http://i.imgur.com/5iKwAyn.png
并且有一个错误:
On line with "let eventsc = eventscd[indexPath.row]" in Controller
Output: "fatal error: Array index out of range"
我哪里错了?
最佳答案
这是因为在 viewDidLoad
中,您将 numberOfCells
设置为 > 0 的值。但是 eventscd
中没有任何内容。这就是为什么当尝试从 eventscd
读取值时,您会收到索引超出范围错误。
理想情况下,返回的行数应为 eventscd.count
,并且应在加载表内容之前填充 eventscd
(或者在获取数据并添加值后重新加载表)到 eventscd
)
关于ios - 填充 TableView 中的 JSON 数组和 CoreData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31270122/
我想做的是让 JTextPane 在 JPanel 中占用尽可能多的空间。对于我使用的 UpdateInfoPanel: public class UpdateInfoPanel extends JP
我在 JPanel 中有一个 JTextArea,我想将其与 JScrollPane 一起使用。我正在使用 GridBagLayout。当我运行它时,框架似乎为 JScrollPane 腾出了空间,但
我想在 xcode 中实现以下功能。 我有一个 View Controller 。在这个 UIViewController 中,我有一个 UITabBar。它们下面是一个 UIView。将 UITab
有谁知道Firebird 2.5有没有类似于SQL中“STUFF”函数的功能? 我有一个包含父用户记录的表,另一个表包含与父相关的子用户记录。我希望能够提取用户拥有的“ROLES”的逗号分隔字符串,而
我想使用 JSON 作为 mirth channel 的输入和输出,例如详细信息保存在数据库中或创建 HL7 消息。 简而言之,输入为 JSON 解析它并输出为任何格式。 最佳答案 var objec
通常我会使用 R 并执行 merge.by,但这个文件似乎太大了,部门中的任何一台计算机都无法处理它! (任何从事遗传学工作的人的附加信息)本质上,插补似乎删除了 snp ID 的 rs 数字,我只剩
我有一个以前可能被问过的问题,但我很难找到正确的描述。我希望有人能帮助我。 在下面的代码中,我设置了varprice,我想添加javascript变量accu_id以通过rails在我的数据库中查找记
我有一个简单的 SVG 文件,在 Firefox 中可以正常查看 - 它的一些包装文本使用 foreignObject 包含一些 HTML - 文本包装在 div 中:
所以我正在为学校编写一个 Ruby 程序,如果某个值是 1 或 3,则将 bool 值更改为 true,如果是 0 或 2,则更改为 false。由于我有 Java 背景,所以我认为这段代码应该有效:
我做了什么: 我在这些账户之间创建了 VPC 对等连接 互联网网关也连接到每个 VPC 还配置了路由表(以允许来自双方的流量) 情况1: 当这两个 VPC 在同一个账户中时,我成功测试了从另一个 La
我有一个名为 contacts 的表: user_id contact_id 10294 10295 10294 10293 10293 10294 102
我正在使用 Magento 中的新模板。为避免重复代码,我想为每个产品预览使用相同的子模板。 特别是我做了这样一个展示: $products = Mage::getModel('catalog/pro
“for”是否总是检查协议(protocol)中定义的每个函数中第一个参数的类型? 编辑(改写): 当协议(protocol)方法只有一个参数时,根据该单个参数的类型(直接或任意)找到实现。当协议(p
我想从我的 PHP 代码中调用 JavaScript 函数。我通过使用以下方法实现了这一点: echo ' drawChart($id); '; 这工作正常,但我想从我的 PHP 代码中获取数据,我使
这个问题已经有答案了: Event binding on dynamically created elements? (23 个回答) 已关闭 5 年前。 我有一个动态表单,我想在其中附加一些其他 h
我正在尝试找到一种解决方案,以在 componentDidMount 中的映射项上使用 setState。 我正在使用 GraphQL连同 Gatsby返回许多 data 项目,但要求在特定的 pat
我在 ScrollView 中有一个 View 。只要用户按住该 View ,我想每 80 毫秒调用一次方法。这是我已经实现的: final Runnable vibrate = new Runnab
我用 jni 开发了一个 android 应用程序。我在 GetStringUTFChars 的 dvmDecodeIndirectRef 中得到了一个 dvmabort。我只中止了一次。 为什么会这
当我到达我的 Activity 时,我调用 FragmentPagerAdapter 来处理我的不同选项卡。在我的一个选项卡中,我想显示一个 RecyclerView,但他从未出现过,有了断点,我看到
当我按下 Activity 中的按钮时,会弹出一个 DialogFragment。在对话框 fragment 中,有一个看起来像普通 ListView 的 RecyclerView。 我想要的行为是当
我是一名优秀的程序员,十分优秀!