如何在目标 -c 中从服务器导入布尔值

how to import Bool value from server in objective -c

提问人:Steven 提问时间:5/29/2017 更新时间:5/29/2017 访问量:49

问:

我的代码使用服务器进行解析:

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

support_long_messages从服务器 true 或 false 到达,我可以从调试中看到这一点,但我不知道如何解开这个值来编写 if else 语句,如下所示:

  if (!_support_long_messages) {

            [self showAlert];

        }

当我编写 if 语句时,它不起作用。 我希望如果它是假的,如果它是真的,则显示 UIAlertview,否。

任何帮助不胜感激。

objective-c xml-解析

评论


答:

0赞 Arun 5/29/2017 #1

NSString 的 Use 属性boolValue

if (![_support_long_messages boolValue]) {

            [self showAlert];

        }

从 NSString 头文件中 boolValue 属性的声明

@property(只读) BOOL boolValue NS_AVAILABLE(10_5, 2_0);忽略 初始空格字符 (whitespaceSet) 或可选的 -/+ 符号 后跟零。遇到“Y”、“y”、“T”之一时返回 YES, “t”,或数字 1-9。它忽略任何尾随字符。

0赞 Piyush 5/29/2017 #2

如果从服务器到达 true 或 false,那么你不应该把它当作变量,试着把它当作变量,如下所示。support_long_messagesNSStringBOOL

-(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];
 }