2017-05-04 92 views
0

我想找出我用來跟蹤陀螺儀數據的CMMotionManager的參考座標系。當我執行以下行attitudeReferenceFrame的rawValue 1是什麼意思?

let referenceFrame = self.motionManager.attitudeReferenceFrame 
print("Reference frame = \(referenceFrame)") 

我得到以下輸出

Reference frame = CMAttitudeReferenceFrame(rawValue: 1) 

有4個常數CMAttitudeReferenceFrame

常量

靜止無功xArbitraryZVertical:CMAttitudeReferenceFrame描述一個 其中Z軸是vertica的參考系l和X軸在水平面內任意方向指向 。

靜態無功xArbitraryCorrectedZVertical:CMAttitudeReferenceFrame 描述相同的參考幀作爲xArbitraryZVertical除了 磁力計,可用的和校準的情況下,用於改善 長期偏航精度。使用此常數而不是 xArbitraryZVertical導致CPU使用率增加。

static var xMagneticNorthZVertical:CMAttitudeReferenceFrame描述 參考座標系,其中Z軸是垂直的,而X軸是指向磁北的X軸。請注意,使用此參考框架可能需要設備移動來校準磁力計。

static var xTrueNorthZVertical:CMAttitudeReferenceFrame描述一個參考座標系,其中Z軸是垂直的,X軸指向真北方的 。請注意,使用此參考框架可能需要設備移動來校準磁力計。它還要求 位置可用以計算磁性和真北方之間的差異。

它是用1的rawValue來談論第二個常量嗎?

+0

你說得對。它是'xArbitraryCorrectedZVertical'。 – ozgur

+0

原始值1是'xArbitraryZVertical' – dan

回答

-1

docs表示第二個值爲1 << 1(即1),所以是的。

+0

'1 << 1'是2,'1 << 0'是1 – dan

+0

哦,我做了一個愚蠢的?哎呀。 – Ssswift