我的大菠萝 – 3,基本属性、技能、追随者的获取

 

基本属性

界面设计

现在设计"基本属性"页面。同装备页面,我们也需要代码进行数据绑定。所以新建一个新类,叫做UIViewControllBasicProperty,然后我们放置相应的标签、图片。再按照上文介绍的outlet生成方式,生成对应的outlet。

 

变量跨页面的传递

此时有一个问题,这些内容都应该从Hero.Stat属性中获取,但是,我们怎么能把这个Hero传递到这个界面中呢?

最简单的办法,是在父类中定义一个Hero,那么装备、属性、技能、追随者四个视图都可以共享了,采用类似的parent.Hero来进行数据获取。

所以,我们需要再定义一个UITabBarControllerHeroStat类,来对应story board上的Tab Bar Controller。然后在.h文件中,定义一个property,叫做Hero。

 

那么,这个Hero从哪里传递进来的来呢?案例来说,应该是从一个Hero List列表中传递进来。我们现在先把上文中UIViewControllerItem的生成英雄的逻辑,move到这个类中。

原来是这么写的:

这一段,我们直接cut/paste到tab controller hero stat类中。最后一句修改为

 

然后回头再修改item.m文件

这样,每个tab页就可以从tab controller容器中得到hero了。同样的代码,也加入到BasicProperty.m中。有了hero,我们就能够得到Stat状态了,就可以绑定到每个label上了。

数字格式的处理

SetStatusUIDataFromStat是一个自定义函数,就是通过hero.Stat绑定数据的。

 

唯一要注意的是,如果要实现千分位分隔符的效果,如12345要显示为12,345,那么需要使用NSNumberFormatter,代码如下

 

代码运行后,是一个让我颤抖的数据,接近40万DPS,近700%的暴伤,GF与MF都满。口水啊!!!

 

技能

SkillName的处理

D3 API中的Skill Name都是英文的,如果要显示中文的,那么就要根据TooltipUrl及TooltipParam来获取相关语言的描述。

名字是在两个字符串中间,所以做了一个辅助函数来处理

 

看一下运行后的效果

 

追随者

 

没什么特殊的地方,也是设置图片、文字内容,没有数字格式化的部分。

 

 

 

 

 

 

转载于:https://www.cnblogs.com/charju/p/3484427.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值