2017-07-02 81 views
0

我在我的项目中为某个类创建一个init方法,基本上我想包装一个本地通知类。问题初始化方法的参数与默认值

因为我的本地通知只有一个声音,我希望把它作为一个默认的类时如下初始化:

override init(notificationTitle:String, subtitle:String, sound = UNNotificationSound.init(named: AppSettingManager.share.loadFocusNotificationSound()), categoryId:String) { 

    super.init() 
} 

因为声音参数的值店在NSUserdefault并且我想在初始化类时设置声音的值。

然而,Xcode的抱怨作为

未命名的参数必须与空名称 '_'

enter image description here

我如何处理这个写?任何其他方式来解决这个问题?提前致谢。

+0

我认为你曲解这个错误。它只是告诉你,你的语法是错误的,你想给这个参数一个名字,或者明确声明它没有名字。你只是缺少':'''声音'。例如'override init(notificationTitle:String,subtitle:String,sound:UNNotificationSound = UNNotificationSound(named:AppSettingManager.share.loadFocusNotificationSound()),categoryId:String){...}'。 – Rob

回答

1

变化sound =sound:

override init(notificationTitle:String, subtitle:String, sound: UNNotificationSound.init(named: AppSettingManager.share.loadFocusNotificationSound()), categoryId:String) { 
    super.init() 
}