我现在正在使用通讯簿,我需要将ABPropertyID的字符串表示形式转换(匹配)为ABPropertyID:
@"kABPersonEmailProperty" -> ABPropertyID kABPersonEmailProperty;
我可以不使用ifs灵活地做到吗?
最佳答案
我可以不使用ifs灵活地做到吗?
并不是的。最简单的方法可能是手动编写在两者之间映射的代码中的NSDictionary
。由于常量的名称不是已编译程序的一部分,因此无法完全自动执行此操作。
例:
NSDictionary *mapping = [NSDictionary dictionaryWithObjectsAndKeys:
@"kABPersonEmailProperty", [NSNumber numberWithInteger:kABPersonEmailProperty],
@"kABPersonEmailProperty", [NSNumber numberWithInteger:kABPersonBirthdayProperty],
nil];