iOS计算器笔记

Masonry布局 + MVC设计

控件的布局在view的layoutSubview里写,利用第三方库来布局
iOS计算器笔记_第1张图片
每个按钮高占屏幕高的10/1,宽占屏幕宽1/4.
设置了17个button,每个button有一个tag值。
将button的方法写在Controller里,利用协议来实现点击方法。(用tag来区分点击的button)

在controller里

1.将view添加到self.view
2.实现点击方法
3.注册观察者iOS计算器笔记_第2张图片
分别是:
1.监听 计算器的输入框,监听者是model,输入信息后,model获取输入的字符处理。
2.接收model发出的名字为 result消息
3.接收model发出的名字为result的消息
###在model里
1.监听到text后,将text存入可变数组里NSmutableArray里。
3.遇到=号,发出result消息,让controller将=删除。
3.然后进行中缀转后缀的处理
4.计算后缀表达式。
5.发出finish的消息,让controller修改text的值。

关于数组的处理

1.model获取到的信息在字典里,将它拿出来放到字符串中
2. [array addObject:[String substringWithRange:NSMakeRange(i, 1)]];
将每个字符转为字符串放到数组里。
3.

long int c = (long)[number integerValue];
                NSNumber * b = [NSNumber numberWithLong:c];
                [suffix addObject:b];

number是一个字符串
将字符串转为数字放到后缀表达式里。
运算符直接以字符串的形式放到后缀表达式里
我的github;

你可能感兴趣的:(iOS)