2

我有一个小问题:D 我找不到合适的词来搜索,所以我写了这个问题。我怎么变短?我知道这个逻辑|| 但是我怎么能在一行中添加超过 1 个呢?谢谢你的时间最好的问候约翰

    bool b = [self NSStringContains:convert contains:@"Input"];
    if (b ==true)
    {
           bool b = [self NSStringContains:convert contains:@"Output"]; 
           if (b ==true)
           {
                     bool b = [self NSStringContains:convert contains:@"statecheck"]; 
                     if (b ==true)
                     {
                     ....
                     }
           }
     }
4

2 回答 2

6

在这种情况下,您似乎需要&&

if ([self NSStringContains:convert contains:@"Input"] &&
    [self NSStringContains:convert contains:@"Output"] &&
    [self NSStringContains:convert contains:@"statecheck"])
{
   ...
}

因为它的价值,给定bool b;if (b==true)总是多余的——只需使用if (b).

于 2012-05-03T19:29:44.620 回答
2

大概是这样的:

bool hasInput = [self NSStringContains:convert contains:@"Input"];
bool hasOutput = [self NSStringContains:convert contains:@"Output"];
bool hasStatecheck = [self NSStringContains:convert contains:@"statecheck"];
if (hasInput && hasOutput && hasStatecheck)
{
}

您使用的是“如果此条件,则检查此条件和此条件”等。您可以将这些与逻辑 AND 放在一起,用&&.

于 2012-05-03T19:29:33.737 回答