2017-05-29 3 views
0

私のコードでは、サーバからブール値をインポートするには、サーバーで解析します:support_long_messagesが真または偽のサーバから到着は、どのような目的-c

-(instancetype)initWithKey:(NSData *)key keyId:(NSString *)keyId validityStart:(NSDate *)validityStart validityEnd:(NSDate *)validityEnd support_long_messages:(NSString *)support_long_messages 
{ 
} 

、私はデバッグからそれを見ることができますが、私はアンラップする方法を知りませんこの値は次のようなelse文のように書く:

if (!_support_long_messages) { 

      [self showAlert]; 

     } 

if文を書くとうまくいきません。 私はそれが偽であれば、それが真であればUIAlertviewを表示します。

助けていただければ幸いです。 NSStringのヘッダファイル内BOOLVALUEプロパティの宣言からNSStringの

if (![_support_long_messages boolValue]) { 

      [self showAlert]; 

     } 

答えて

0

使用boolValue

@property(読み取り専用)BOOL BOOLVALUE NS_AVAILABLE(10_5、2_0)。 // の最初の空白文字(whitespaceSet)をスキップするか、オプションの -/+記号 に0を続けます。 "Y"、 "y"、 "T"、 "t"、または1〜9の数字のいずれかに遭遇したらYESを返します。末尾の文字は無視されます。

+0

どうもありがとうアルンを試してみてください、それが動作します:) – Steven

0

support_long_messagesが真または偽のサーバから到着した場合は、下のようにのようなBOOL変数としてそれをしようと、NSString変数としてそれを取るべきではありません。

-(instancetype)initWithKey:(NSData *)key 
        keyId:(NSString *)keyId 
      validityStart:(NSDate *)validityStart 
       validityEnd:(NSDate *)validityEnd 
    support_long_messages:(BOOL)support_long_messages{ 

} 

そして

if (!_support_long_messages) { 
     [self showAlert]; 
} 
関連する問題