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 · Jul 8, 2014 · 3763 views
    This topic created in 4413 days ago, the information mentioned may be changed or developed.
    扔给我了一个 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 replies    2014-07-08 10:02:31 +08:00
    myAngel
        1
    myAngel  
       Jul 8, 2014   ❤️ 1
    之前接触过保险类项目,也是大量的Excel表格。需要自己写一套解析引擎......
    akfish
        2
    akfish  
       Jul 8, 2014   ❤️ 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
       Jul 8, 2014
    @myAngel 这有点牛刀杀鸡了,我这只是个小项目

    @akfish 这个 Excel 转 HTML 的工具靠谱吗?现在手边没有 windows 电脑,没办法试
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2371 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:59 · PVG 23:59 · LAX 08:59 · JFK 11:59
    ♥ Do have faith in what you're doing.