无法分配给属性:“操作”是仅获取属性
Posted
技术标签:
【中文标题】无法分配给属性:“操作”是仅获取属性【英文标题】:Cannot assign to property: 'actions' is a get-only property 【发布时间】:2017-11-16 16:10:14 【问题描述】:我正在制作我的第一个应用程序,这是我最大的问题。我想发出一个通知,在其中我可以根据用户输入向它添加操作。我首先创建了一个没有操作的类别,然后使用 for 循环我尝试创建操作并同时将其添加到类别中,但这是它显示的问题: 无法分配给属性:“操作”是一个只能获取的属性
这是我的代码:
var category5 = UNNotificationCategory(identifier: "category.5", actions: [], intentIdentifiers: [], hiddenPreviewsBodyPlaceholder: "placeholdertext", options: [])
for index in 0..<workingDays[3].subjects!.count
let action = UNNotificationAction(identifier: "\(workingDays[3].subjects![index + 1].subjectName).5", title: workingDays[3].subjects![index + 1].subjectName, options: .foreground)
category5.actions += [action] // here I get the error
// category5.actions.append(action) // I tried this as well but I get the same error
我该如何解决我的问题,还有其他方法吗?我希望 actions 数组是可变的,这样我以后也可以从中删除一些操作。
任何帮助将不胜感激,这对我来说意味着梦想成真!
【问题讨论】:
【参考方案1】:如错误所示,UNNotificationCategory.actions
数组是只读的,可以通过UNNotificationCategory
构造方法修改,所以试试这个方法一定对你有用
var actionsToAdd : [UNNotificationAction] = []
for index in 0..<workingDays[3].subjects!.count
let action = UNNotificationAction(identifier: "\(workingDays[3].subjects![index + 1].subjectName).5", title: workingDays[3].subjects![index + 1].subjectName, options: .foreground)
actionsToAdd.append(action)
var category5 = UNNotificationCategory(identifier: "category.5", actions: actionsToAdd, intentIdentifiers: [], hiddenPreviewsBodyPlaceholder: "placeholdertext", options: [])
【讨论】:
非常感谢你的作品就像一个魅力!上帝保佑你继续帮助他人的好工作!以上是关于无法分配给属性:“操作”是仅获取属性的主要内容,如果未能解决你的问题,请参考以下文章
无法分配给属性:“值”是一个只能获取的属性 RxSwift -
无法分配给属性“tabBarController”是一个只能获取的属性