【发布时间】:2023-03-07 22:29:01
【问题描述】:
Swift 新手 - 慢慢但肯定会开始完全理解这一点。
如何在@IBAction 中调用结构化的 URL 数组 weeks.urls[0]?我附上了错误的屏幕截图,以及我的 WeekDetalViewController 代码。
class WeekDetailViewController: UIViewController {
var week: WeekInfo!
@IBOutlet weak var lessonCompleteBtn: UIButton!
@IBOutlet weak var Button1: UIButton!
@IBOutlet weak var Button2: UIButton!
@IBOutlet weak var Button3: UIButton!
@IBOutlet weak var Button4: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
lessonCompleteBtn.backgroundColor = UIColor.gray
lessonCompleteBtn.layer.cornerRadius = 20
}
@IBAction func lessonBtnTapped(_ sender: AnyObject) {
sender.setTitle("PSET Complete!", for: [])
if lessonCompleteBtn.backgroundColor == UIColor.gray{
lessonCompleteBtn.backgroundColor = UIColor(red: 17/255, green: 107/255, blue: 0/255, alpha: 1.0)
}
else if lessonCompleteBtn.backgroundColor == UIColor(red: 17/255, green: 107/255, blue: 0/255, alpha: 1.0){
sender.setTitle("Complete PSET!", for: [])
lessonCompleteBtn.backgroundColor = UIColor.gray
}
}
@IBAction func Button1(_ sender: Any) {
UIApplication.shared.open(URL(week.urls[0])!)
}
@IBAction func Button2(_ sender: Any) {
UIApplication.shared.open(URL(week.urls[1])!)
}
@IBAction func Button3(_ sender: Any) {
UIApplication.shared.open(URL(week.urls[2])!)
}
@IBAction func Button4(_ sender: Any) {
UIApplication.shared.open(URL(week.urls[3])!)
}
}```
【问题讨论】:
-
为什么要强制拆包?删除
!符号 -
week.urls 中有什么内容?
-
当我删除 week.urls 时,我在 week.urls 中收到错误“Missing argument label 'resolvingAliasFileAt:' in call”我有以下设置:
struct WeekInfo { let description: String let urls: [URL] } class WeekTableViewController: UITableViewController { var week = [ WeekInfo(description: "Week 0", urls: [ URL(string: "https://website1.com")!, URL(string: "https://website2.com")!, URL(string: "https://website3.com")!, URL(string: "https://website4.com")!]),
标签: ios arrays swift xcode ibaction