为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

5 回答

是啊,不过我百科了一下,正确的算法应该是年份对12求余再加上3,得出的数(从1~12为对应的生肖序号,若为负数则加上12)既是对应的生肖属相,当然,换到林老师的demo里面就应该如下:(公元前的往前逆推)

if let year = yearOfBirth.text.toInt() {

            var imageNumber = (year % 12) - 4

            if imageNumber < 0 {

                imageNumber += 12

            }

            animalImageOfYear.image = UIImage(named: String(imageNumber))

        }


1 回复 有任何疑惑可以回复我~
#1

周蜜 提问者

非常感谢!
2014-12-13 回复 有任何疑惑可以回复我~
#2

iThinker

我觉得最好加一段: if imageNumber == -4 { image.image = UIImage(named: String()) } 已实现在输入0的时候不显示图片。 因为是没有公元零年的,只从公元元年(公元一年)开始计。 我觉得的更加严谨了,有没有必要看个人喜好了。
2015-03-29 回复 有任何疑惑可以回复我~

要是超出输入的值超出Int型范围也会有问题,应该讲一下怎么给用户一些提示信息,限制用户输入的范围,这里不会啊!

0 回复 有任何疑惑可以回复我~

对的,公元前也有问题,要么fork了这个项目,PR吧,谢谢!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
使用Swift开发iOS8 App实战
  • 参与学习       62627    人
  • 解答问题       541    个

通过苹果最新Swift语言开发iOSApp,从零开始学习iOS的开发

进入课程
意见反馈 帮助中心 APP下载
官方微信