【发布时间】:2026-01-03 17:30:01
【问题描述】:
我正在我的 DetailVC 中设置 SFSafariViewController。我需要在哪里设置编码来解决错误:
使用未解析的标识符 SafariVC
错误显示在旁边:safariVC.delegate = self。
import SafariServices
import UIKit
class StateDetailViewController: UIViewController, SFSafariViewControllerDelegate {
@IBAction func watchButtonTapped(_ sender: SAButton) {
if let url = URL(string: self.state!.url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
let safariVC = SFSafariViewController(url: url)
present(safariVC, animated: true)
}
safariVC.delegate = self
}
@IBOutlet weak var stateTitleTextLabel: UILabel!
@IBOutlet weak var stateDetailTextTitleLabel: UILabel!
@IBOutlet weak var stateDescriptionTextView: UITextView!
var state: State?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
title = "Reciprocal Details"
stateTitleTextLabel.text = state?.title
stateDetailTextTitleLabel.text = state?.detailText
stateDescriptionTextView.text = state?.description
func safariViewControllerDidFinish(_ controller: SFSafariViewController) {
controller.dismiss(animated: true, completion: nil)
}
}
}
【问题讨论】:
-
修复缩进问题很明显(假设您熟悉变量范围)。
-
我会用谷歌搜索,因为我不知道,因为我仍然是 swift 的新手,也是我第一次编码。对不起!
-
你能告诉我显而易见的事情吗?我正在努力学习正确的方法!谢谢
-
变量只能在声明它的大括号内使用。
标签: swift error-handling