gpt4 book ai didi

ios - 如何将工作日分配给按钮?

转载 作者:行者123 更新时间:2023-11-28 11:00:15 25 4
gpt4 key购买 nike

我有一个文本字段,viewcontroller 中有 7 个按钮

@IBOutlet weak var courseDesc: UITextField!

@IBOutlet weak var sundayButton: UIButton!
@IBOutlet weak var mondayButton: UIButton!
@IBOutlet weak var tuesdayButton: UIButton!
@IBOutlet weak var wednedayButton: UIButton!
@IBOutlet weak var thursdayButton: UIButton!
@IBOutlet weak var fridayButton: UIButton!
@IBOutlet weak var saturdayButton: UIButton!

如何将下面这 7 个工作日分配给上面的 7 个按钮,例如,如果用户单击 sundayButton,则在用户保存时应将其分配为 Sunday

func getWeekDay() -> [String] {
let calendar = NSCalendar(calendarIdentifier: NSCalendar.Identifier.gregorian)!
calendar.locale = NSLocale.current as Locale
return calendar.weekdaySymbols
}

var assignDay = getWeekDay()

let sunday = assignDay[0]
let monday = assignDay[1]
let tuesday = assignDay[2]
let wednesday = assignDay[3]
let thursday = assignDay[4]
let friday = assignDay[5]
let saturday = assignDay[6]

最佳答案

这个问题我已经看过好几次了,你的措辞还是不太好。但让我们看看我是否能提供帮助。

您试图在每个按钮中存储一个字符串,以便您可以从 barbuttonitem 中获取该字符串。

您可以通过几种方式做到这一点。

一:你可以扩展 UIBarButtonItem,给它一个像

这样的属性
var day: String?

然后为每个按钮设置该属性并在您的保存函数中获取该值(考虑到它是可选的)。可能不想那样做,因为您扩展了所有 barbutton 项,也许您不想那样做。

二:你可以做一个小字典:

  let buttonDays: [UIBarButtonItem: String] = [SundayButton: "Sun",...]

然后在保存中,您可以像这样访问这本词典来捕获这一天。 (这是一个可选的,所以如果让它打开)

 if let day = buttonDays[sender] {...}

三:您可以为每个按钮分配一个标签,并在字典中使用该标签,如上所示。

sundayButton.tag = 0
mondayButton.tag = 1
....
let dayForTag : [Int: String] = [0: "Sun",...]
//then in save function
let day = dayForTag[sender.tag]

你不需要使用上面的字典,只需要一个数组,因为它是零索引的。

但最后,您需要问问自己。 你为什么要费心将这些字符串存储在你的数据模型中?你的模型根本不在乎今天的名字是什么。只有人类知道这一点。您已经准备好存储工作日的值。当您返回应用程序的 Controller 层时,该值可以直接转换为星期几。字符串比 16 字节的 int 大得多,并且您通过存储两者在模型中创建了冗余。

编辑:将应用层变成 Controller 。我心中的 OSI 模型。糟糕。

在那种情况下,您需要做的就是为每个按钮分配一个标签,0 代表星期日,1 代表星期一等等。然后将该标签存储在您的数据库中。当您需要访问特定日期的任务时,请使用当天的整数表示形式进行搜索,而不是字符串。

编辑:我只记得我认为星期日实际上是 Date() 对象中的第一个工作日,因此您必须考虑到这一点。我认为。我已经有一段时间没用过了。

关于ios - 如何将工作日分配给按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40979673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com