Примерно так будет работать (для положительных целых чисел в любом случае). Это только отправная точка, вам нужно проверить правильность слов и, возможно, игнорировать заглавные буквы, чтобы сделать их более надежными:
[self parseNumberWords:@"five two three"];
-(NSInteger)parseNumberWords:(NSString *)input {
NSArray *wordArray = [NSArray arrayWithObjects:@"zero",@"one",@"two",@"three",@"four",@"five",@"six",@"seven",@"eight",@"nine", nil];
NSArray *words = [input componentsSeparatedByString:@" "];
NSInteger num = 0;
NSInteger j =0;
for (NSInteger i = [words count]; i>0 ;i--) {
num = num + [wordArray indexOfObject:[words objectAtIndex:i-1]] * pow(10, j);
j = j+1;
}
NSLog(@"%ld",num);
return num;
}