2017-01-29 4 views
1

저는 옵서버를위한 새로운 구문을 이해하기 위해 정말로 애 쓰고 있습니다.스위프트에서 옵서버와 셀렉터 추가하기 3

당신은 나를 스위프트 3.

nc.addObserver(self, selector: #selector(MapViewController.locationUpdated(_:)), name: LocationNotification.kLocationUpdated, object: nil) 
nc.addObserver(self, selector: #selector(MapViewController.locationAuthorizationStatusChanged(_:)), name: LocationNotification.kAuthorizationStatusChanged, object: nil) 
nc.addObserver(self, selector: #selector(MapViewController.locationManagerDidFailWithError(_:)), name: LocationNotification.kLocationManagerDidFailWithError, object: nil) 

많은 감사를이 번역 도울 수 있습니다! 자사의 경우 (

struct LocationNotification { 
    static let kLocationUpdated = Notification.Name(rawValue: "LocationUpdated") 
    static let kAuthorizationStatusChanged = Notification.Name(rawValue: "AuthorizationStatusChanged") 
    static let kLocationManagerDidFailWithError = Notification.Name(rawValue: "LocationManagerDidFailWithError") 
} 

답변

1

하는 알림 대중을 받아들이는 방법을 만들기 위해 기억

1

코드의 구문이 구문으로 스위프트 3. 유효합니다, 나는 당신의 LocationNotification 객체가이 같이 보입니다 가정입니다 다른 컨트롤러).

또한 objective-c 메소드가 호출 할 수 있도록 objc 프로세서 태그를 추가해야합니다.

지정 관찰자 :

nc.addObserver(
    self, 
    selector: #selector(received(notification:)), 
    name: LocationNotification.kLocationUpdated, object: nil 
) 

핸들 알림 :이 도움이

@objc public func locationUpdated(notification:Notification) { 
    //Do something 
} 

희망! :-)

관련 문제