2010-09-11 57 views
1

我想知道在Objective-C中如何判斷一個字符串是否代表布爾值。 [string boolValue]方法不起作用,因爲當我嘗試解析像[@"ERROR" boolValue]這樣的字符串時,它將返回NO而不是拋出異常。在C#中,我可以執行如下操作:if (Boolean.TryParse(string, out bool)),但據我所知,Objective-C中不提供此功能,因爲BOOL類型不是面向對象的。我將不得不編寫我自己的BOOL解析器類嗎?還是有我缺少的東西(例如NSScanner)?Objective C嘗試解析布爾值

回答

5

根據文檔,boolValue「在遇到」Y「,」y「,」T「,」t「或數字中的一個時返回YES 1-9 - 該方法忽略任何尾隨字符。接收器不以數字的有效小數文本表示開始。「

如果您正在尋找不同的東西,您需要編寫一個小工具或使用a category來完成工作。

如果它很快,你甚至可以使用NSString的-isEqualToString:方法。

+0

所以我需要做我自己的自定義分析器? – 2010-09-11 20:45:36

+0

我會在這種情況下。 – 2010-09-11 21:05:32

+0

這就是我所做的,我確實相信它會適合我的情況,謝謝你的迴應。 – 2010-09-11 21:17:35