2016-12-01 1 views
1

다음 작품 : 그러나스위프트 3.0 UnsafeMutableRawPointer 케이스에서 스위치

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 
+1

당신이 실제 오류를 게시 생각 해 봤나? – Alexander

답변

2

코드가 잘 컴파일 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 
    } 
} 
관련 문제