今天是九月六日。来到蓝懿的第十四天。刘老师没有今天没有讲新课 ,而是带领我们做了一个高级版计算器。前两天我也做过两版简单的计算器。但今天听了老师的讲解,发现自己曾经的代码有许多过于繁琐的地方。很多知道改进的地方。还有就是发现前两天讲得代码已经有些淡忘了。例如如何替换数组中的数据 和如何拼接改变字符串。而今天收获的最大的就是如何实现优先级的计算。

    for (int i=0; i<self.operators.count; i++) {

        NSString *operator = self.operators[i];

        

        if ([operator isEqualToString:@"×"]||[operator isEqualToString:@"÷"]) {

            

            float number1 = [self.numbers[i] floatValue];

            float number2 = [self.numbers[i+1] floatValue];

            float result = 0;

            if ([operator isEqualToString:@"×"]) {

                result = number1 * number2;

            }else{

                

                result = number1/number2;

            }

            //把两个运算的数 删除 把结果插入回去

            [self.numbers removeObjectAtIndex:i];

            [self.numbers removeObjectAtIndex:i];

            [self.numbers insertObject:@(result) atIndex:i];

            

            //删除当前的运算符

            [self.operators removeObjectAtIndex:i];

            //为了保证数组中每一个符号都遍历出来

            i--;     

        }      

    }

    还有就是今天在做老师留的作业时发现有许多细节处理的不好 ,找bug浪费了很久时间。以后一定会改进。