Dun*_*n C 5 cllocation ios swift equatable
在回答关于 SO 的另一个问题时,我发现CLLocation该类符合Equatable协议。它使用什么方法来确定相等性?
纬度/经度的精确匹配?纬度/经度和高度的精确匹配?纬度、经度、高度和时间戳的精确匹配?速度和路线呢?什么CLLocation是单纯用纬度/经度对创建的对象?位置的各种其他值不是可选的,那么使用创建的位置的海拔高度是init(latitude:longitude:)多少?
只需充分验证 JAL 在他的回答中所说的话,我写道:
import Foundation
import UIKit
import CoreLocation
class ViewController: UIViewController{
var cl1 = CLLocation()
var cl2 = CLLocation()
override func viewDidLoad() {
super.viewDidLoad()
if cl1 == cl2{
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后我命令单击==(来自if cl1 == cl2)。我需要:
extension NSObject : CVarArg {
}
public func ==(lhs: Selector, rhs: Selector) -> Bool
public func ==(lhs: NSObject, rhs: NSObject) -> Bool
public struct NSZone {
}
Run Code Online (Sandbox Code Playgroud)
为了仔细检查,我单击命令CLLocation并看到:
open class CLLocation : NSObject, NSCopying, NSSecureCoding {
...
}
Run Code Online (Sandbox Code Playgroud)
所以基本上==是因为它是NSObject仅比较引用的子类。
| 归档时间: |
|
| 查看次数: |
819 次 |
| 最近记录: |