简体   繁体   English

Swift-CoreData-DetailViewController-传递对象

[英]Swift - CoreData - DetailViewController - passing an object

I'm creating a CoreData project. 我正在创建一个CoreData项目。 I used the Master / Detail template from XCode6 (beta 5). 我使用了XCode6(测试版5)中的Master / Detail模板。 I've studied it for the past few days, and I'm confused on the anyObject? 我已经研究了几天,对anyObject?感到困惑anyObject? that it uses. 它使用的。 I am passing it an Event. 我通过了一个活动。 As I did with Objective-C, I'd like to use Event.eventName in lieu of detail.valueForKey("eventName").description 正如我对Objective-C所做的那样,我想使用Event.eventName代替detail.valueForKey("eventName").description

I have tried numerous attempts and I now have something that works. 我已经尝试了无数次尝试,现在有了一些可行的方法。 But does it work properly? 但是它能正常工作吗? Is there a way to pass an Event (object) to the DetailViewController in a better (or more efficient) way than what I have? 有没有一种方法可以比我现有的方法更好(或更有效)地将事件(对象)传递给DetailViewController?

import UIKit

class DetailViewController: UIViewController
{
    @IBOutlet var textFieldEventName: UITextField!
    @IBOutlet var textFieldStartDate: UITextField!
    @IBOutlet var textFieldEndDate: UITextField!
    @IBOutlet var labelNumberOfDays: UILabel!

    var currentEvent: Event!

    required init(coder aDecoder: NSCoder!)
    {
        super.init(coder: aDecoder)
    }

    override func viewDidLoad()
    {
        super.viewDidLoad()
        updateDisplay()
    }

    func updateDisplay()
    {
        if let textField = self.textFieldEventName
        {
            textFieldEventName.text = currentEvent.eventName
            textFieldStartDate.text = currentEvent.startDate
            textFieldEndDate.text = currentEvent.endDate
            labelNumberOfDays.text = "\(currentEvent.orderNumber)"
        }
    }
}

Please see the relevant Swift documentation bit on Type Casting for Any and AnyObject . 请参阅有关Any和AnyObject的类型转换的有关Swift文档的内容 In your case, here is one option: 就您而言,这是一种选择:

let detail: Event = self.detailItem as Event

This is really extremely basic and you should read the Swift book a bit more before coding by example. 这确实是非常基础的,在通过示例进行编码之前,您应该多读Swift书。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM