2016-11-17 4 views
0

В NMAPositioningManager.h есть эта Const:Невозможно преобразовать значение типа '' NSNotification.Name к ожидаемому типу аргумента '' NSKeyValueObservingOptions

FOUNDATION_EXPORT NSString *const NMAPositioningManagerDidUpdatePositionNotification; 

И есть мой код в быстрой

NotificationCenter.addObserver(self, forKeyPath: "positionDidUpdate", options: NSNotification.Name.NMAPositioningManagerDidUpdatePosition, context: NMAPositioningManager.shared()) 

Вдохновленный из этого примера в Obj-C:

[[NSNotificationCenter defaultCenter] addObserver:self 
selector:@selector(positionDidUpdate) 
name:NMAPositioningManagerDidUpdatePositionNotification 
object:[NMAPositioningManager sharedNMAPositioningManager]]; 

у меня есть ошибка с опцией поля:

NavigationViewController.swift: 30: 84: Невозможно преобразовать значение типа 'NSNotification.Name' ожидаемого типа аргумента '' NSKeyValueObservingOptions

enter image description here

Что я должен ввести в работать мой Swift Code?

EDIT: используя NotificationCenter вместо Notification

+1

Просто для уточнения. В вашем объекте C используется NSNotificationCenter, а ваш код Swift использует NSNotification. Вы хотите использовать NSNotification или NSNotificationCenter, который хотите использовать? – pbodsk

+0

На самом деле, это NotificationCenter, который я должен использовать. Я редактирую свой ответ, но у меня все та же ошибка. –

ответ

2

Вы должны вызвать addObserver .. метод на default одноточечного Оно должно быть:

NotificationCenter.default.addObserver(self, selector: #selector(positionDidUpdate), name: NSNotification.Name.NMAPositioningManagerDidUpdatePosition, object: NMAPositioningManager.shared()) 
+0

Вот и все, я использовал плохое предложение в «addObserver». Большое спасибо за ваше время –

 Смежные вопросы

  • Нет связанных вопросов^_^