【发布时间】:2015-10-14 20:00:21
【问题描述】:
我收到了大约 10 个警告信号,让我知道在这些情况下我应该考虑使用 let 代替 var。 Let 是一个常数,其中 var 变化。在这种情况下,改成 let 是正确的决定吗?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var latitude: CLLocationDegrees = 50.0358
var longitute: CLLocationDegrees = 19.1783
var latDelta: CLLocationDegrees = 0.5
var longDelta: CLLocationDegrees = 0.5
var span: MKCoordinateSpan = MKCoordinateSpanMake(latDelta, longDelta)
var location: CLLocationCoordinate2D = CLLocationCoordinate2DMake(latitude, longitute)
var region: MKCoordinateRegion = MKCoordinateRegionMake(location, span)
mapView.setRegion(region, animated: true)
var annotation = MKPointAnnotation()
annotation.coordinate = location
annotation.title = "Auschwiz"
annotation.subtitle = "German Nazi concentration camp."
mapView.addAnnotation(annotation)
var uilpgr = UILongPressGestureRecognizer(target: self, action: "action:")
uilpgr.minimumPressDuration = 2
mapView.addGestureRecognizer(uilpgr)
【问题讨论】:
-
Swift 团队建议默认使用常量,仅当您确实需要在代码逻辑中更改此对象时才使用变量。所以默认情况下,在任何地方都使用
let,除非你真的不能让它工作并且需要一个变量。 tl;dr 编译器是对的。