美文网首页
OC的switch case中,不是数字的情况

OC的switch case中,不是数字的情况

作者: loghm | 来源:发表于2017-06-15 23:18 被阅读265次

    在OC中switch case的变量类型只能是基础类型(int, byte,char, short),如果是字符串怎么办呢?

    <b>第一种情况:该字符串是数字字符串,那么很简单,将字符串转化为int(基础类型)。</b>

    int a = [newString intValue];

    <b>第二种情况:该字符串不是数字字符串。可以将字符串按照顺序放到一个数组中,将数组的下标作为switch case的变量。</b>
    <pre>//把用到的字符串参数放到一个数组里
    NSArray *Name = [NSArray arrayWithObjects:@"aaa",@"bbb",@"ccc",@"ddd",@"eee",@"fff",nil];
    //比如我们要把@"eee"作为switch的参数,则取到它在数组中的下标,然后在switch中根据下标来进行处理。
    int index = [Name indexOfObject:@"eee"];
    switch(index)
    {
    case 0: //xxxxx; break;
    case 1: //xxxxx; break;
    case 2: //xxxxx; break;
    case 3: //xxxxx; break;
    case 4: //这里就是eee的代码处理部分; break;
    case 5: //xxxxx; break;
    ....
    }
    </pre>

    相关文章

      网友评论

          本文标题:OC的switch case中,不是数字的情况

          本文链接:https://www.haomeiwen.com/subject/unxpqxtx.html