★房贷计算器APPmobilefeng

2.之前看了很多demo,第一次来完全的自己实现一个APP

3.完成之后提交AppStore

4.作为GoodCoder的提交审核材料

二、排期

7.18-7.19:完成MRD设计

7.20-7.24:完成技术框架搭建,包括:MVC、基类设计和功能分工、Pod库的选取

7.25-8.9:完成全功能第一版

8.10-8.16:整理优化

三、MRD

7.20

第一步模仿AppStore的房贷计算器设计UI(工具:keynote)

第二步增加新的功能

1.提前还款功能

2.央行降息后还款金额变化

3.公积金贷款额度查询

4.点击非编辑区域,收起键盘

四、技术框架

1.工程名:HouseLoanCal,所有类前缀:HLC

2.Controller底部是UITabBarController公积金贷款:HLCProvidentFundLoanController商业贷款:HLCCommercialLoanController混合贷款:HLCMixedLoanController继承自HLCLoanController,继承HLCTableViewController,继承自UITableViewController

3.View基本上靠TableView可以实现,不需要专门的View

4.Model首先,三种贷款模式(公积金贷款、商业贷款、混合贷款),都可以归结为一,即贷款金额+贷款利率公积金贷款:贷款金额=贷款金额贷款利率=贷款利率商业贷款:贷款金额=贷款金额贷款利率=贷款利率*折扣组合贷款:贷款金额=公积金贷款金额+商业贷款金额贷款利率=(公积金贷款金额*公积金贷款利率+商业贷款金额*商业贷款利率*折扣)/(公积金贷款金额+商业贷款金额)

输入数据贷款金额:单位为万元,其他金额数字基本为元贷款利率:默认值为当前利率(目前暂时未找到免费的利率接口,先写在本地)贷款期限:必须为>0整数还款日期:存的是年月日,显示的是年月,默认值为当前日期还款方式:枚举类型,决定了计算的结果

输出数据折合利率:累计支付利息:累计还款总额:

每期还款、每期本金、每期利息当为等额本息时,头部显示每期还款,下面列表显示本金/利息当为等额本金时,头部显示每期本金,下面列表显示还款/利息下面的列表行数=贷款期限*12

五、实现中遇到的问题和解决方案

7.21

问题1

controller的框架搭建起来,运行了一次发现navigationItem的title未显示,排查发现controller的viewDidLoad没有运行进去

解决方法

HLCBaseTableViewController继承了UITableViewController,它本来就有一个属性tableView

self.tableView的操作移到viewDidLoad即可

7.27

问题2

自定义的cell,点击之后,分割线会消失

7.29

问题3

之前是Setting页面定义了多个cell,打算整合成一个,用cellstyle来区分,类似UITableViewCellStyle

8.17

等额本息计算公式:

每月本息=贷款本金*{月利率*[(1+月利率)^还款月数]}/{[(1+月利率)^还款月数]-1}

等额本金计算公式:

每月本息=(贷款本金/还款月数)+(本金-已归还本金累计额)*每月利率

8.24

NSNumber转NSString

最初的做法如下,缺点是显示的金额会带一个$符号

NSNumberFormatter*numFormatter=[[NSNumberFormatteralloc]init];numFormatter.numberStyle=NSNumberFormatterCurrencyStyle;str=[numFormatterstringFromNumber:num];解决方法

NSNumberFormatter*moneyFormatter=[[NSNumberFormatteralloc]init];[moneyFormattersetPositiveFormat:@"###,##0.00"];str=[moneyFormatterstringFromNumber:num];

8.25

实现了公积金贷款页的输入、输出,但是发现,上滑后滑回,每一期列表数据会错乱,怀疑跟复用同一个cellIdentifier有关,排查一下

错误代码如下:

staticNSString*cellIdentifier=@"OutputDetailCellIdentifier";HLCLoanOutputTableViewCell*cell=[tableViewdequeueReusableCellWithIdentifier:cellIdentifier];if(!cell){cell=[[HLCLoanOutputTableViewCellalloc]initWithHLCStyle:HLCLoanOutputTableViewCellStyleSmallreuseIdentifier:cellIdentifier];[cellsetTitle:[NSStringstringWithFormat:@"第%ld期",row-1]];NSString*everyMonthDiffString=[moneyFormatterstringFromNumber:self.everyMonthDiff[row-2]];NSString*evertMonthInterestString=[moneyFormatterstringFromNumber:self.everyMonthInterest[row-2]];[cellsetDetail:[NSStringstringWithFormat:@"%@/%@",everyMonthDiffString,evertMonthInterestString]];}returncell;正确做法如下:

staticNSString*cellIdentifier=@"OutputDetailCellIdentifier";HLCLoanOutputTableViewCell*cell=[tableViewdequeueReusableCellWithIdentifier:cellIdentifier];if(!cell){cell=[[HLCLoanOutputTableViewCellalloc]initWithHLCStyle:HLCLoanOutputTableViewCellStyleSmallreuseIdentifier:cellIdentifier];}[cellsetTitle:[NSStringstringWithFormat:@"第%ld期",row-1]];NSString*everyMonthDiffString=[moneyFormatterstringFromNumber:self.everyMonthDiff[row-2]];NSString*evertMonthInterestString=[moneyFormatterstringFromNumber:self.everyMonthInterest[row-2]];[cellsetDetail:[NSStringstringWithFormat:@"%@/%@",everyMonthDiffString,evertMonthInterestString]];returncell;每次去调用tableView:cellForRowAtIndexPath:首先会调用dequeueReusableCellWithIdentifier判断cell池中是否有可重用的cellIdentifier,若有则直接用,若没有则重新init一个

这次出的问题在于,对于cell上面的textLabel操作,错放在了if(!cell){//...}里面,导致若有可重用的,会直接返回cell,而不会对textLabel处理

解决方法就是把对cell的处理挪到if判断的外面

公积金贷款页基本功能已经实现,梳理一下存在的问题:

1.计算结果有误差(100万30年5.0等额本息,累计利息有1.36元误差)

等额本金是准的,应该是等额本息的计算方法中精度问题引入了误差;

发现是AppStore的房贷计算器计算有误差,我的计算方法和精度是ok的

done

2.贷款利率需要设定默认值

NSCalendar*calendar=[[NSCalendaralloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian];NSDateComponents*dateComponents=[[NSDateComponentsalloc]init];[dateComponentssetMonth:i];NSDate*monthDate=[calendardateByAddingComponents:dateComponentstoDate:self.loanDateoptions:0];done

5.tableViewCell无上分割线

解决方法是viewForHeaderInSection里面加一个下分割线

6.输入为空点击计算会Crash

7.重置功能

8.完成商业贷款、组合贷款两个页面

9.在iPhone6/6p上的尺寸适配问题

10.上滑时,header不要吸顶

解决方法一:

-(void)scrollViewDidScroll:(UIScrollView*)scrollView{if(scrollView.contentOffset.y<=kHLCHeightForCellHeader&&scrollView.contentOffset.y>=0){scrollView.contentInset=UIEdgeInsetsMake(-scrollView.contentOffset.y,0,0,0);}elseif(scrollView.contentOffset.y>=kHLCHeightForCellHeader){scrollView.contentInset=UIEdgeInsetsMake(-kHLCHeightForCellHeader,0,0,0);}}发现吸顶的问题是解决了,但是下滑后再上滑回来,顶部会部分被navigationBar遮挡

解决方法二:

分割区域不用header实现,而是每个section底部加一个cell

11.好评跳转功能

"_sqlite3_prepare_v2",referencedfrom:

_execute_prepared_config_stmtinlibWeChatSDK.a(MTAWXOStore.o)_execute_prepared_events_stmtinlibWeChatSDK.a(MTAWXOStore.o)

解决方法:

在LinkBinaryWithLibraries中依次加入libsqlite3.dylib,libz.dylib,libc++.dylib添加后就可以编译通过

(注意:Xcode7之后,.dylib库需要换成同名的.tbd)

iOS9之后,schema跳转需要在Info.plist中加一个LSApplicationQueriesSchemes的数组值

微博SDK接入(注意iOS9有更新,需要下2015.9.29最新的sdk)

Undefinedsymbolsforarchitecturearm64:"_OBJC_CLASS_$_CTTelephonyNetworkInfo",referencedfrom:objc-class-refinlibWeiboSDK.a(WBSDKPhoneCountryView.o)ld:symbol(s)notfoundforarchitecturearm64clang:error:linkercommandfailedwithexitcode1(use-vtoseeinvocation)

TARGETS-BuildPhases-LinkBinaryWithLibraries

加上CoreTelephony.framework

-[NSConcreteMutableDatawbsdk_base64EncodedString]:unrecognizedselectorsenttoinstance0x14758e840

Target->BuidSettings->Linking下OtherLinkerFlags项添加-ObjC

打开了微博客户端,提示“ssopackageorsignerror”

需要在友盟后台绑定第三方账号

13.给每个Item做个图标

初步想法是,一个圈分别加上公、商、组三个字,设置的就保留螺丝的图标

最终用sketch绘制

代码如下

1UIImage*tabImage=[UIImageimageNamed:@"icon_profund_normal"];2UIImage*tabSelectImage=[UIImageimageNamed:@"icon_profund_height"];3tabSelectImage=[tabSelectImageimageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];4self.tabBarItem=[[UITabBarItemalloc]initWithTitle:@"公积金"image:tabImageselectedImage:tabSelectImage];注意:要加上第3行,表示选中时的图标保持原样,不做渲染

如果不写上这句,图片做渲染之后,就会变成实心的

14.Applcon

Sketch绘制

整体布局与系统的计算器类似,房子和人命币图案寓意房子和贷款,加减符号寓意计算器

配色上,橘色和蓝色取得是IEEE官网的配色,比较喜欢

这个icon想了一晚上,最终比较满意

15.app名字

极简房贷计算器

这个需要个server,先看看有没有现成的,不行的话看看用python写一个

17.支持夜间模式

配色可以考虑参考NStats

18.版本号自动配置

//版本号#defineHLC_APP_VERSION([[[NSBundlemainBundle]infoDictionary]objectForKey:@"CFBundleShortVersionString"])//使用[cellsetTitle:@"当前版本"];[cellsetContent:[NSStringstringWithFormat:@"%@",HLC_APP_VERSION]];配置的位置

TARGET选择项目-General-Identity-Version

填1.0.0

另外下面的Build可以填1.0.0.0

19.下滑支持把键盘收起

加一句即可

self.tableView.keyboardDismissMode=UIScrollViewKeyboardDismissModeInteractive;

20.贷款期限用自定义Picker来实现

修改过程中,出现:EXC_BAD_ACCESS(code=EXC_I386_GPFLT)

这是请求了空指针

查到原因:

//贷款期限@property(nonatomic,assignstrong)NSNumber*loanPeriod;这个类型,之前是NSInteger,后来为了兼容小数而改成NSNumber,但是忘了更改类型,导致出血空指针

21.数组叠加bug

复现步骤:先选择30年,计算一次,结果是360期;再选择20年,计算一次,理论应该是240期,但现在是600期

//计算前清空之前的结果[self.eachInterestremoveAllObjects];[self.eachMonthremoveAllObjects];[self.eachPrincipalremoveAllObjects];[self.eachPrincipalPlusInterestremoveAllObjects];[self.eachDiffremoveAllObjects];这种NSMutableArray类型,每次计算前,需要清空

2015.10.9

1.0.0版本已上架

友盟统计

Bug1:

DeploymentTarget误选成8.4导致只能是8.4版本即以上才能下载,下个版本修复

Bug2:

在6和6p上没有做好屏幕适配,只是单纯的放大版

2015.10.27

提交GoodCooder,被驳回,原因一是代码逻辑太简单,二是没用单测(本想用UITesting代替单测,被说这是可以录制的,不可)

THE END
1.金昌·白鹭金岸房贷计算器 选择基本情况,帮您快速计算房贷 房价总额 万 贷款金额 7成 万 贷款类型 商业贷款 贷款期限 30年(360期) 商贷利率 最新基准利率(4.9%) 等额本息 等额本金 首付 0 万元 月供 0 元 还款月数 0 月 还款总额 0 万元 总利息 0 万元 本息总计 0 万元 注:本次计算仅作为购房https://fs.fang.ke.com/loupan/p_jcljabkcfu/
2.房贷计算器公积金贷款计算器2024版房贷计算器,房天下房贷计算器为购房者提供2024房贷计算器及各种在线购房计算工具。包括房贷计算器,贷款计算器,公积金贷款计算器,商业贷款计算器,房贷提前还贷计算器,税费计算器。https://newhouse.fang.com/house/tools.htm
3.房贷计算器2025房贷计算器每天2025万人使用我们开发的房贷计算器2025,房贷计算器2025为大家提供LPR利率,房贷计算器2025最新版,贷款计算器2025,公积金贷款计算器2025,帮助大家计算房贷、首付、利息、月供https://www.fangdaijisuanqi.net/
4.房贷计算器591房屋交易网房貸計算器2024版使用我們的房屋貸款計算器,輕鬆估算您的每月付款、完整支付明細等(計算結果僅供參考) 貸款類型 一般貸款 首期利率低至1.19% 青安貸款 組合貸款 計算方式 貸款總額 萬元 貸款期限 寬限期 利率方式 年利率 % 查看最新利率 開始計算 本息平均攤還0元/月 查看明細 本金 (0萬元) 利息 (0萬元) 本息合計 (0https://mortgage.591.com.tw/calculator
5.房贷计算器2025房贷计算器贷款计算器计算房贷首选房贷计算器2025,每天超过366万人使用2025房贷计算器在线计算房贷,包括房贷计算器、贷款计算器、公积金贷款计算器.房贷计算,就用贷款计算器最新2025和房贷计算器最新2025https://www.fangdaijisuanqi.com/
6.房贷计算器2022在线贷款房贷明细计算器房贷计算器2022,房贷精灵,多种贷款、房贷明细计算器,使用2022年最新贷款利率表,商业贷款、公积金贷款、组合贷款、提前还贷、等额本息、等额本金等在线房贷计算器。https://www.baiozhuntuixing.com/
7.30年房贷计算器你好。30年房贷计算器:等额本息还款:把按揭贷款的本金总额与利息总额相加,然后平均分摊到还款期限的每个月中。作为还款人,每个月还给银行固定金额,但每月还款额中的本金比重逐月递增、利息比重逐月递减。等额本金还款:将本金分摊到每个月内,同时付清上一交易日至本次还款日之间的利息。这种还款方式相对https://wen.baidu.com/question/818600440436417132.html
8.30年房贷计算器(中国银行贷款利率)一、30年房贷计算器(中国银行贷款利率)百度推荐如下:中国银行贷款利率百度推荐:中国银行_金融市场_存/贷款利率_人民币贷款利率邮政银行20万无息贷款百度推荐:邮政银行20万无息贷款工行融e借10万利息多少百度推…http://bw.fygsoft.com/repinfodetail_1460105.html
9.房贷计算器最新2015在线计算器30年40万月共多少?所以无法给出准确答案给你,既然你知道房贷计算器,你可以直接在百度里搜房贷计算器,再把你的具体内容http://www.loupan.com/ask/388549.html
10.2014年房贷计算器房贷计算器新2014房贷利率计算器使用2014年房贷计算器以购买第二套市值100万元的房产计算,如果按照“9·27”新政,首付4成即40万,贷款利率在7.83%的基础上再上浮10%即8.61%,贷款60万期限20年,以等额本息方式还款,需要累计还款1259708.9元,加上首付总共要付出1659708.9元。而如果按建行新政策,则可首付30万,利率还可下浮15%到6.66%,贷款70万元同样http://www.soufun.com/news/zt/201309/fangdaijisuan2013.html
11.房贷计算器房贷计算器2024年最新版房贷计算器2024年最新版包含有:商业贷款计算器、公积金贷款计算器、组合贷款计算器,当前房贷计算器包含有央行最新商业贷款基准利率(LPR),可快速计算等额本息、等额本金等各种贷款利率。http://m.iauj.wangxiaa.cn/
12.2023年中国银行房贷计算器2023年中国银行房贷计算器 中国银行房贷计算工具 中国银行提供了一款方便实用的房贷计算工具,可在微银行的微服务中找到。该工具涵盖了存款计算器、贷款计算器、投资计算器、汇率换算器和其他计算器,方便用户进行各种金融计算。其中,房贷计算器能够帮助您准确估算每月的房贷还款额,根据贷款总额、到期年息和贷款期限等变量,https://www.jiwu.com/baike/52244.html
13.房贷30万20年利息是多少房贷计算器目前,人行公布的5年期以上的贷款年利率是4.9% ,按基准利率试算,在利率不变的情况下,采用“等额本息还款”方式还款,利息总额是171199.72元,每月还款金额是1963.33元;采用“等额本金还款”方式还款,利息总额是147612.5元,每月还款金额逐月递减。若需试算,可进入招行主页,点击右侧的“理财计算器”-“个人贷款计算器”进行http://www.jzstv.com/jgwd/1490211.html
14.房贷计算器,妥妥的数学计算python房贷计算器贷款年利率、贷款金额、贷款期限都从键盘输入,简单实现。 代码运行效果截屏图片 Python代码 #!/sur/bin/nve python# coding: utf-8defcalculatorMortgage(rate,money,year):''' 房贷计算器 '''rateMonth=rate/12/100# 月利率。months=12*year# 贷款期限。exponent=(1+rateMonth)**months# 月供计算指数https://blog.csdn.net/m0_57158496/article/details/135429982
15.房贷计算器2024年最新版商业贷款计算器计算房贷首选商业贷款计算器,包括LPR利率查询、商业贷款计算器、公积金贷款计算器.计算月供就用2024房贷计算器。https://xyzzg.com/
16.300万房贷30年利率3.6每月还多少?(100万按揭30年月供多少)对于没有经验的人来说,都是售楼人员说多少房贷就还多少房贷,根本就没有什么概念,其实只要我们能够掌握房贷计算器的使用方法,那就能自己计算出房贷。下面我们就来看看50万房贷30年还每月还多钱?房贷计算器怎么使用? 50万房贷30年还每月还多钱? 贷款50万元,贷款期限为30年,等额本息贷款方式:每期要还款2886.18元。https://www.zcdyd.com/fangchandiyadaikuan/4225.html
17.房贷计算器计算 贷款期限 30年 (360期) 贷款期限 还款方式: 等额本息 等额本金 首套房 商贷利率:最新LPR + 基点BP(?) 基点 2024年11月20日公布LRP:5年期以上LPR为3.6% 商业贷款利率: 3.6%+ -50? = 3.350% 公积金贷款利率:2.85% 相关阅读 2024年5月房地产市场新政:如何影响购房者和市场? https://fangd.sinaapp.com/
18.房贷50万30年要还多少钱经过计算(这里我们使用计算器或编程来得到精确值),每月还款额 M≈2653.63 元(四舍五入到小数点后两位)。 然后,我们计算总还款额: 总还款额 = M×nmonths = 2653.63×360 = 955306.8 元 所以,一个50万房贷在30年期限内的总还款额大约为955306.8元。请注意,这个数值是基于假设的年利率4.9%和等额本息还款方式计http://www.jnweb.org/fangdai48
19.个人贷款利息计算器个人贷款利息计算器工具在线计算5.支付宝房贷计算器在哪 北京贷款计算北京贷款利率计算器 贷款利息计算器是怎样的? 贷款也分很多种类型,首先要明确是什么类型的贷款。 如果是商业贷款,贷款60万,分30年还,月供3200-4200元;分20年还,月供4000-5000元。 如果是公积金贷款,贷款60万,分30年还,月供2620-3300元;分20年还,月供3400-4200元。 https://www.dongguanhn.com/tjcx/2057.html
20.公寓产权房值得投资,30年产权的公寓能买吗公寓产权房一直是房地产市场中备受关注的对象,很多投资者犹豫是否值得投资。特别是对于30年产权的公寓,人们更加担忧其投资价值。本文将就这个话题进行分析,探讨公寓产权房的投资潜力。 1. 产权房的定义及特点: 产权房是指购买后即拥有永久使用权和支配权的房屋。与租赁房相比,产权房能够更好地保障购买者的权益,具有较http://www.tianmaone.com/cqf/39965.html
21.2024年最新房贷计算器芒果找房为您提供最新2024年房贷计算器,涵盖各类场合与费率情况 - 沈阳真房源,上芒果找房!https://www.517.cn/tools/loancal.html
22.辉达娱乐「游戏注册有保障,平台安全更省心」辉达娱乐(QQ:543551)公司注册于2012年,致力于创新游戏开发及代理运营,辉达平台在行业内知名度高,管理性强,资金充沛,安全可靠,形象品质有保障!是目前国内领先的场景化、科技化、高品质更省心的游戏平台,同时为广大客户提供注册登录招商app等服务!http://piyue.boldxp.cn/
23.意昂体育「游戏有保障,娱乐更省心」意昂娱乐(QQ:543551)公司注册于2012年,致力于创新游戏开发及代理运营,意昂平台在行业内知名度高,管理性强,资金充沛,安全可靠,形象品质有保障!是目前国内领先的场景化、科技化、高品质游戏平台,同时为广大客户提供注册开户招商登录app等服务!http://jian.hyesgjg.cn/
24.房贷计算器新版房贷计算器新版房贷计算器采用2025年最新版房贷计算器公式计算,支持按贷款金额、首付比例及按面积和单价进行购房贷款的计算参考的多功能房贷计算器,同时支持商业贷款计算器及公积金贷款计算服务,为您购房时计算贷款利率、首付、月供明细等提供计算参考。http://jes.lptinsm.cn/
25.房贷计算器新版房贷计算器新版房贷计算器采用2025年最新版房贷计算器公式计算,支持按贷款金额、首付比例及按面积和单价进行购房贷款的计算参考的多功能房贷计算器,同时支持商业贷款计算器及公积金贷款计算服务,为您购房时计算贷款利率、首付、月供明细等提供计算参考。http://cqinfung.cn/
26.房贷计算器新版房贷计算器新版房贷计算器采用2025年最新版房贷计算器公式计算,支持按贷款金额、首付比例及按面积和单价进行购房贷款的计算参考的多功能房贷计算器,同时支持商业贷款计算器及公积金贷款计算服务,为您购房时计算贷款利率、首付、月供明细等提供计算参考。http://sports.achievee.cn/
27.星欧娱乐「游戏注册有保障,平台安全更省心」星欧娱乐(QQ:543551)公司注册于2012年,致力于创新游戏开发及代理运营,星欧平台在行业内知名度高,管理性强,资金充沛,安全可靠,形象品质有保障!是目前国内领先的场景化、科技化、高品质更省心的游戏平台,同时为广大客户提供注册登录招商app等服务!http://910528.nlowotl.cn/
28.房贷计算器新版房贷计算器新版房贷计算器采用2025年最新版房贷计算器公式计算,支持按贷款金额、首付比例及按面积和单价进行购房贷款的计算参考的多功能房贷计算器,同时支持商业贷款计算器及公积金贷款计算服务,为您购房时计算贷款利率、首付、月供明细等提供计算参考。http://wap.ep.chflstd.cn/
29.房贷计算器房贷计算器2024年最新版房贷计算器2024年最新版包含有:商业贷款计算器、公积金贷款计算器、组合贷款计算器,当前房贷计算器包含有央行最新商业贷款基准利率(LPR),可快速计算等额本息、等额本金等各种贷款利率。http://www.kazbwrs.cn/
30.贷款700万贷30年月供多少:房屋贷款计算器和详细解析房贷是购房的一个必不可少环节,对大部分购房者而言,很多事项之间是不太清晰,例如贷款700万的话,30年月供多少? 我们来看一下贷款700万的情况。假设按照当前的贷款利率,30年期固定利率房贷为5%,则依照等额本息还款法来计算,月供大约为37,465元。假使依照等额本金还款法计算,前期月供逐渐递减,后期逐渐递增,整体平均月https://www.anquan.com.cn/qiye/yqfalvzixunw/1260908.html
31.贷款计算器2024最新版贷款计算器2024最新版新帮助大家计算个人贷款、房贷、首付、利息、月供的计算,采用2024年最新贷款利率计算,方便清晰的了解贷款月还款数额,一个比较方便的贷款计算工具https://money.100xgj.com/dk/
32.房贷计算器根据贷款总额计算 按揭年数: 利率: 公积金:4.05% 商业:6.4% 查看结果: 房款总额:元 贷款总额:元 还款总额:元 支付利息款:元 首期付款:元 贷款月数:元 月均还款:元 *以上结果仅供参考 等额本息还款法:把按揭贷款的本金总额与利息总额相加,然后平均分摊到还款期限的每个月中。作为还款人,每个月还给银行固定金额http://www.360doc.com/content/12/0121/07/1875194_81638260.shtml