2014-12-07 47 views
0

我在想这不应该很难,但我不知道该怎么做。任何人都可以告诉我如何列出存储在给定属性下的文本字段中的所有数据供用户操作?用swift在文本字段中列出核心数据属性

现在我有:

@IBOutlet weak var bodyTextView: UITextView! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    //CoreData 
    let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate 
    let managedContext : NSManagedObjectContext = appDelegate.managedObjectContext! 
    var fetchRequest = NSFetchRequest(entityName: "Log") 
    fetchRequest.returnsObjectsAsFaults = false; 
    var results: NSArray = managedContext.executeFetchRequest(fetchRequest, error: nil)! 

    var logsArray = [""] 

    for res in results { 
     var totalWorkTimeInHours = res.valueForKey("totalWorkTimeInHours") as Double 
     var totalWorkTimeInHoursString = res.valueForkey("totalWorkTimeInHours") as String 

     logsArray.append(totalWorkTimeInHoursString) 

     bodyTextView.text = "Total hours worked:\n\(totalHoursWorkedSum) hours\n\nHour logs:\n\(logsArray)" 

    } 

} 

在这段代码中我想添加的所有双打在“totalWorkTimeInHours”归因于“bodyTextView.text”通过将它们当做字符串,其中追加到“logsArray”,但是当我运行它崩溃。我在这里做错了什么?我确定它与“totalWorkTimeInHours”是NSManagedObject的数组而不是双精度或字符串的事实有关,但是如何编写代码来实现我的目标?

在此先感谢!

这是我得到的错误:

enter image description here

+0

凡在你的代码是 “totalHoursWorkedSum”?它在你想要添加到你的文本视图的字符串中,但没有相应的变量。 – 2014-12-08 00:39:13

+0

哦,对不起,我只是最小化了代码来简化这个问题。 totalHoursWorkedSum工作正常,它显示在textView中,但我不知道如何列出所有正在求和的项目。 – Leighton 2014-12-08 00:48:58

+0

错误说的是什么? – 2014-12-08 00:57:05

回答

2

你不能只是重铸valueForKey为一个字符串。您需要将double值转换为字符串。替换:

var totalWorkTimeInHoursString = res.valueForkey("totalWorkTimeInHours") as String 

var totalWorkTimeInHoursString = "\(totalWorkTimeInHours)" 
+0

谢谢!那就是我需要的。 – Leighton 2014-12-08 15:29:44