I'm new to reactivecocoa and I need help. I was searching and I couldn't figure it out. Let assume that I have UIPickerView. In that pickerView there are 4 options, for each language one for example german, english, spanish, french. On selected language I need to send back abbreviation english - en, french - fr... I'm using MVVM architecture and this is my method in my ViewController. In that method I bind ViewModel and selected properties.
- (void)bindeViewModel
{
RAC(self, selectedLanguageAbbreviation) = self.languageViewModel.observeSelectedLanguage;
}
"observeSelectedLanguage" is my signal and its implementation is:
-(RACSignal *) observeSelectedLanguage
{
@weakify(self);
return [RACObserve(self, selectedLanguage) filter:^BOOL(NSString *value){
@strongify(self);
if (value == LocalizedString(myValueString(English)))
{
self.selectedLanguageAbbreviation = @"en";
return self.selectedLanguageAbbreviation;
}
else if (value == LocalizedString(myValueString(German)))
{
self.selectedLanguageAbbreviation = @"ge";
return self.selectedLanguageAbbreviation;
}
else if (value == LocalizedString(myValueString(French)))
{
self.selectedLanguageAbbreviation = @"fr";
return self.selectedLanguageAbbreviation;
}
else if (value == LocalizedString(myValueString(Spanish)))
{
self.selectedLanguageAbbreviation = @"sp";
return self.selectedLanguageAbbreviation;
}
else
{
self.selectedLanguageAbbreviation = @"en";
return self.selectedLanguageAbbreviation;
}
}];
}
"myValueString" is macro for returning string from enum, so English, French etc are part of enum. Can you help me and explain how to send abbreviation for selected language? Thank you
Aucun commentaire:
Enregistrer un commentaire