gpt4 book ai didi

ios - 覆盖类和在 Controller 中声明所有内容之间的区别?

转载 作者:行者123 更新时间:2023-12-01 20:06:44 25 4
gpt4 key购买 nike

每个人。我有两种编码方式:

我有一个 mapView,它需要有一些变量。我想知道最好的方法是什么?

第一的:

class UGOMapView: MKMapView, MKMapViewDelegate, CLLocationManagerDelegate {

let regionRadius: CLLocationDistance = 1000
var usrLocation: CLLocationManager!
var annotationView: MKAnnotationView!


func initUserLocation() {
if (CLLocationManager.locationServicesEnabled()) {
usrLocation = CLLocationManager()
usrLocation.delegate = self
usrLocation.requestAlwaysAuthorization()
usrLocation.requestLocation()
}
}
}

然后在我的 Storyboard中:

enter image description here

在我的 Controller 中: @IBOutlet weak var mapView: UGOMapView!
或者 :
class MainViewController: UIViewController, MKMapViewDelegate, UITableViewDelegate, UITableViewDataSource, CLLocationManagerDelegate {

@IBOutlet weak var mapView: MKMapView!
let regionRadius: CLLocationDistance = 1000
var usrLocation: CLLocationManager!
var annotationView: MKAnnotationView!


override func viewDidLoad() {
super.viewDidLoad()
if (CLLocationManager.locationServicesEnabled()) {
usrLocation = CLLocationManager()
usrLocation.delegate = self
usrLocation.requestAlwaysAuthorization()
usrLocation.requestLocation()
}
}

然后在我的 Storyboard中:

enter image description here

(我的 mapView 中有多个功能。我不知道那里的功能是否以一种或另一种方式很重要?)

最佳答案

你的第一种方法很好 .这是因为,它给你代码分离和单点修改 .如果您为 map View 创建单独的类,并假设任何问题都与 map 有关,您将非常确定导致问题的代码行将在此类 中.此外,如果您想处理与 map 相关的操作,您可以在此处处理它们。另一个好处是 您可以将同一个类用于多个 map View .在 View Controller 的情况下,您不能将相同的代码用于其他 map View 。

关于ios - 覆盖类和在 Controller 中声明所有内容之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38764601/

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