Cómo presentar un viewController usando una fila en Eureka Forms

Como Eureka se usa para crear un nuevo registro, que incluye diferentes tipos de datos, uno de ellos esMediaPicker, Me pregunto cómo presentar su viewController.

¿Qué fila haría el trabajo?PushRow oButtonRow

Aquí está mi clase donde trato de crear esto.

import UIKit
import MediaPlayer

import Eureka

public final class MusicRow<T: Equatable> : SelectorRow<T, PushSelectorCell<T>, SelectorViewController<T>>, RowType {

    public required init(tag: String?) {
        super.init(tag: tag)
        presentationMode = .Show(controllerProvider: ControllerProvider.Callback {
            return AddMusicViewController(){ _ in }
            }, completionCallback: { vc in
                vc.navigationController?.popViewControllerAnimated(true)
        })
    }
}

public class AddMusicViewController: MPMediaPickerController, MPMediaPickerControllerDelegate {

    var musicPicker: MPMediaPickerController!

    public var row: RowOf<MPMediaItemCollection>!

    public var completionCallback : ((UIViewController) -> ())?

    public override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        // Setup sections/rows for tableView
        addMusic()
    }

    // Initialize musicPicker and customize it
    func addMusic() {
        musicPicker = MPMediaPickerController.self(mediaTypes:.Music)
        musicPicker.delegate = self
        musicPicker.allowsPickingMultipleItems = true
        view.addSubview(musicPicker.view)
    }

    // After selection, store the data into an array
    public func mediaPicker(mediaPicker: MPMediaPickerController, didPickMediaItems mediaItemCollection: MPMediaItemCollection) {
        musicTemp = nil
        musicTemp = mediaItemCollection
        if musicTemp == nil {
            noMusic = true
        } else {
            noMusic = false
        }
        completionCallback?(self)
    }

    // Cancel mediaPickerController
    public func mediaPickerDidCancel(mediaPicker: MPMediaPickerController){
        // Dismiss the picker if the user canceled
        noMusic = true
        completionCallback?(self)
    }
}

A continuación se muestra el error que enfrento.

Respuestas a la pregunta(1)

Su respuesta a la pregunta