TSMessage - 调用中的额外参数"图像"



这听起来是一个非常小的问题,但我被困住了:(

我正在使用 TSMessage 快速收到错误"调用中额外的参数'图像'"。怎么了?

func showActionNotification(title:String?, message:String?, viewcontroller:UIViewController, actionTitle:NSString, action:(()->Void)) -> Void {
  var image:UIImage! = UIImage(named: "Sample.png")
  TSMessage.showNotificationInViewController(viewcontroller,
    title: title, subtitle: message, image: image,
    type: TSMessageNotificationType.Message,
    duration: TSMessageNotificationDuration.Automatic,
    callback: nil, buttonTitle: actionTitle, buttonCallback: action,
    atPosition: TSMessageNotificationPosition.Top, canBeDismissedByUser: true)
}

谢谢

我刚刚遇到了同样的问题。Xcode给出的错误与实际问题完全无关。这与image论点无关。

事实证明,TSMessageNotificationDuration枚举不会将属性强制转换为NSTimeInterval。我尝试了以下方法,但没有用:

TSMessageNotificationDuration.Automatic as NSTimeInterval

Xcode 抱怨"TSMessageNotificationDuration"不能转换为"NSTimeInterval"

所以相反,我看了看枚举等效什么。就我而言,我使用的是 TSMessageNotificationDuration.Endless ,相当于 -1。

所以我将我的代码更改为以下内容,这有效:

var endless:NSTimeInterval = -1
TSMessage.showNotificationInViewController(viewController,
    title: title,
    subtitle: subtitle,
    image:image,
    type: TSMessageNotificationType.Message,
    duration: endless,
    callback: { () -> Void in },
    buttonTitle: "",
    buttonCallback: { () -> Void in },
    atPosition: TSMessageNotificationPosition.Top,
    canBeDismisedByUser: false)

TSMessageNotificationDuration.Automatic枚举等于 0。

我希望这有所帮助。

您正在将标题和消息作为可选内容传递 - 如果 TSMessage(目标 c?)不需要可能导致问题的可选项。

最新更新