我是iOS应用程序开发的新手,我正在考虑在Cordova应用程序上使用Swift。
我目前正在编写一个需要当前UIViewController的插件,以便使用UIAlertController。
由于视图控制器需要显示UIAlertController实例,如何在Cordova应用程序中获取它?或者我是否必须创建一个新的UIViewController实例?
这是我正在使用的代码:
import Foundation
@objc(ActionSheet) class ActionSheet : CDVPlugin {
func show(command: CDVInvokedUrlCommand) {
var message = command.arguments[0] as String
let alertController = UIAlertController(title: "Hey AppCoda", message: "What do you want to do?", preferredStyle: .Alert)
let defaultAction = UIAlertAction(title: "OK", style: .Default, handler: nil)
alertController.addAction(defaultAction)
// Where to get viewController?
viewController.presentViewController(alertController, animated: true, completion: nil)
}
}
提前致谢。
答案 0 :(得分:1)
CDVPlugin具有viewController属性,因此您的ActionSheet类可以访问它。你的代码对我来说很好。这是我在运行它并从js调用show方法时看到的。
你有任何问题吗?
答案 1 :(得分:0)
您必须传递viewcontroller
,因此您必须将方法更新为
func show(command: CDVInvokedUrlCommand, inViewController:UIViewController) {...}
编辑:
import UIKit