我在安排多个通知的for循环内安排本地通知时遇到麻烦。例如,该函数接收一个称为的变量repetition,它是一个工作日数组,目的是在该数组中的每个工作日调度通知。问题是,只有一个工作日和一个预定的通知时才会触发通知。当数组中有1个以上的项目时,不会触发任何通知。为了清晰起见,这是完整的功能:
func scheduleNotification(at date: Date, every repetition: [String], withName name: String, id: String) {
print("Scheduling notifications for the following days: \(repetition) \n \n")
var components = DateComponents()
let calendar = Calendar.current
let hour = calendar.component(.hour, from: date)
let minutes = calendar.component(.minute, from: date)
components.hour = hour
components.minute = minutes
for rep in repetition {
switch rep {
case "Sunday" : components.weekday = 1
case "Monday" : components.weekday = 2
case "Tuesday" : components.weekday = 3
case "Wednesday": components.weekday …Run Code Online (Sandbox Code Playgroud) 我没有任何技术上的麻烦,但我想知道在界面生成器中是否有更好的方法可以这样做,因为考虑添加新的导航控制器看起来是重复的和不必要的。当我将另一个视图控制器(通过Show segue)添加到导航层次结构中,然后尝试添加栏按钮项时,直到将视图控制器嵌入到新的导航控制器中之前,我才能这样做。这就是我的意思:
无法添加条形按钮项:
能够添加条形按钮项:
interface-builder uinavigationbar uinavigationcontroller uibarbuttonitem swift