![](/img/trans.png)
[英]How to cast UnsafeMutableRawPointer! to UnsafeMutablePointer<Float> in Swift 3.0 or newer?
[英]Swift 3.0 UnsafeMutableRawPointer in Case Switch
以下適用於Swift 3.0:
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?)
{
if context == &MyContext1 {
.........
}
else if context == &MyContext2 {
.........
}
}
但是,由於我有很多條件,如果我使用這樣的開關/案例:
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?)
{
switch context {
case &MyContext1 :
........
case &MyContext2 :
........
}
}
我得到一個關於UnsafeMutableRawPointer無法轉換為整數的錯誤。
聲明:
private var MyContext1 = 0
private var MyContext2 = 0
解包context
,代碼編譯正常:
private var MyContext1 = 0
private var MyContext2 = 0
func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
switch context! {
case &MyContext1 : break
//
case &MyContext2 : break
//
default: break
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.