【发布时间】:2015-03-12 16:36:22
【问题描述】:
我想编写一个辅助类来从我的 info.plist 中获取值并将它们转换为正确的类型。因此,如果我尝试访问一个实际上是数字作为日期的属性,我应该返回 nil 或错误。
我无法想出一个检查类型的好方法。我试图阅读[val class]。在下面的示例中,日期值返回为 __NSTaggedDate,这似乎是我不想依赖的实现细节。
- (NSDate *)dateConfig:(NSString *)name
{
_configs = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"myConfigDictionary"];
id val = [_configs objectForKey:name];
// TODO how do I tell?
if([val class] != ???)
{
return nil;
}
return val;
}
我也想为所有其他 plist 类型可靠地执行此操作。有什么优雅的方式来完成这项工作?
【问题讨论】:
标签: ios objective-c casting plist info.plist