2010-09-02 62 views
1

有.plist文件,其中有一个关键字XYZ,并且该值可以打开或关闭。如何使用BOOL和字符串

现在我有这种方法BOOL isEnabled()

我想检查该plist中的值,并根据on或off返回BOOL。

我该怎么做?

NSDictionary *plistDict = [NSDictionary dictionaryWithContentsOfFile:@"/var/mobile/Library/Preferences/com.apple.BTServer.airplane.plist"]; 
BOOL Location = [[plistDict objectForKey:@"airplaneMode"] boolValue]; 

return Location; 

此代码适用于iPhone/SBSettings的位置切换。这里的位置切换值存储为1和0,但对于我修改此代码的飞行模式,值是打开/关闭的。

如何将开/关转换为BOOL?

+0

我不知道你在问什么了整整。 BOOL类型变量保存值YES或NO(这些是Objective-C关键字)。 – 2010-09-02 00:48:05

回答

0

开/关编码为字符串吗?如果是这样,字符串比较怎么样?

NSString *strLocation = [[plistDict objectForKey:@"airplaneMode"] lowercaseString]; 
if ([strLocation isEqualToString:@"on"]) 
{ 
    return TRUE; 
} 
return FALSE; 
+0

即使定义了TRUE/FALSE,BOOL类型的规范值也是YES/NO,但存在挂起风险。 – 2010-09-02 00:56:04

0

呦可能想使用这样的事情来存储字典/ plist中BOOL值:

[myDictionary setObject:[NSNumber numberWithBool:YES]] 

虽然你会使用YES或NO取决于你想要的整数的值储藏。

0

或者你可以做一个行if语句,像这样:

BOOL location = ([[plistDict objectForKey:@"airplaneMode"] isEqualToString:@"On"]) ? YES : NO;
+0

“YES”和“NO”是与“BOOL”类型相关的通用标识符。 – dreamlax 2010-09-02 01:07:44

+0

虽然真,假,0和1也有效,有些人更好地理解它。 – MishieMoo 2010-09-02 01:31:31

相关问题