V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
kukat
V2EX  ›  iDev

接到个项目,房贷计算器,没想好怎么实现,各位来给点意见吧

  •  
  •   kukat · 2014-07-08 01:08:39 +08:00 · 3236 次点击
    这是一个创建于 3827 天前的主题,其中的信息可能已经有所发展或是发生改变。
    扔给我了一个 Excel 表,包含已经实现好了的公式,基本上要做的就是把 Excel 表单公式移植到 iPad 上。

    听起来似乎挺简单,所以很愉快的接了。开始做才发现遇到坑了。

    1. 表单(计算器)太多了,那一个 Excel 里有 20 多个工作表(sheet)
    2. 很多表单(计算器)的参数字段超过 30 个
    3. 公式有些复杂,参数一层层依赖下去,而 Excel 里又不能递归的显示所有的依赖,只能一个个去找,头都晕了。
    4. 专业名词好多,缩写好多。。。

    上面说的这些只要花点时间搞懂公式,倒是都能克服的,问题是在 iOS 的实现

    1. UI 倒是简单,storyboard + 系统控件就够了,但重复工作量太大,20 多个表,平均每个 20 个字段
    2. 试过 FXForms https://github.com/nicklockwood/FXForms 这类表单生成工具,但局限性太多,比如一行只能显示一个可输入字段,比如不能动态的显示/隐藏某行
    3. 计算公式里 1 个值变了可能会影响到 10 个值,CocoaTouch 没有数据绑定(data binding),KVO 写起来一大堆代码,最后还是得手动去更新 UI,还是个体力活
    4. ReactiveCocoa 可以更方便的实现监听 UITextField 的 event 然后更新对应的数据,目前正在尝试
    5. 回头想想问题还是在 UI 的工作量上,包括画表单,数据绑定 和 逻辑状态控制


    既然 iOS 的 UI 不够灵活,是不是可以考虑用 HTML+javascript 做呢?套个 Native 的壳?

    - UI 有 Framework 7 http://www.idangero.us/framework7/
    - Javascript 不太熟,知道坑多,但只是数学计算应该无压力吧
    - 另外还有 Javascript 版的 Reactive https://github.com/Reactive-Extensions/RxJS
    - 数据交互有 WebViewJavascriptBridge https://github.com/marcuswestin/WebViewJavascriptBridge


    有没有好的办法实现这样大量的表单的?还请指教
    3 条回复    2014-07-08 10:02:31 +08:00
    myAngel
        1
    myAngel  
       2014-07-08 02:03:10 +08:00   ❤️ 1
    之前接触过保险类项目,也是大量的Excel表格。需要自己写一套解析引擎......
    akfish
        2
    akfish  
       2014-07-08 02:52:30 +08:00   ❤️ 2
    不用HTML+JS做:
    1. 花点时间看下Excel的API,写个Addon自动读取公式,转换成你需要的格式,当然取决于公式量和你的学习速度,不一定会更加轻松,但肯定会减少human error
    2. 找个脚本语言的interpreter来跑公式计算,js和python的都有,比写死成oc容易得多

    用HTML+JS做
    1. HTML做UI,灵活性不用说了,大量现成的库可用
    2. JS跑公式,有现成的库直接能用,比如https://github.com/sutoiku/formula.js/
    3. 有工具直接能把Excel表格转换成HTML,包括公式,比如http://www.luisllamas.es/excel2html-convert-excel-sheets-to-html-with-formulas/
    kukat
        3
    kukat  
    OP
       2014-07-08 10:02:31 +08:00
    @myAngel 这有点牛刀杀鸡了,我这只是个小项目

    @akfish 这个 Excel 转 HTML 的工具靠谱吗?现在手边没有 windows 电脑,没办法试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2606 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:29 · PVG 15:29 · LAX 23:29 · JFK 02:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.