这听起来是一个非常小的问题,但我被困住了:(
我正在使用 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?)不需要可能导致问题的可选项。