2014-12-08 4 views
0

Я новичок в реактивном какао, и, честно говоря, не так просто попасть в FRP, как я и думал. Во всяком случае, концепция потрясающая, и я пытаюсь реализовать RAC в моем текущем проекте Swift.Наблюдение свойств подкласса в Swift (реактивный какао)

Ситуация:

MainTableViewController задает свойство:

var userLocation = LocationManager() 

LocationManager сохраняет информацию о местоположении в динамической переменной.

dynamic var newLocation = [String]() 

Назад в MainTableViewController Я пытался создать RACSignal наблюдения переменной newLocation:

rac_valuesForKeyPath("newLocation", observer: self.userLocation).subscribeNextAs {() ->() in 
     println("New location received!") 
    } 

Я проверил другие проекты (в Objective-C), где она работала таким образом. Но как только я скомпилировать приложение Xcode говорит мне:

2014-12-08 13:06:17.122 Test[28145:3242245] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<Test.MainTableViewController 0x14c612570> valueForUndefinedKey:]: this class is not key value coding-compliant for the key newLocation.' 

Я оценил бы любую помощь ...

Спасибо :)

+0

Как определяется «LocationManager»? – dpassage

ответ

1

Наблюдение в обратном направлении. Попытка:

userLocation.rac_valuesForKeyPath("newLocation", observer: self).subscribeNextAs { (value) ->() in 
    println("New location received!") 
} 
+1

Дэйв, ты мой герой! ;) Я не знаю, почему я этого не понял раньше. Во всяком случае, работает как шарм. Спасибо! – arm0nic

+0

действительно ли кто-нибудь знает, как это сделать с текущей ветвью swift2? Скоростная привязка 2 активно развивается прямо сейчас, так как кажется – Fab1n

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