Swift Grammar认为你

时间:2014-06-05 07:22:49

标签: ios swift

问题1:

错误images.count * 0.05(图片是NSArray),

我想播放动画

代码:

func runAnimationWithCount(count: Int, name :NSString){

    var images = NSMutableArray()

    for i in 0...count{

        var imageName = NSString(format:"%02i", i)
        var filename = "\(name)_\(imageName).jpg"

        var bundle = NSBundle.mainBundle()
        var path = bundle.pathForResource(filename, ofType:nil)

        var image = UIImage(contentsOfFile: path)
        images.addObject(image)

    }
    tom.animationImages = images
    tom.animationRepeatCount = 1
    tom.animationDuration = images.count * 0.05   //Error
    tom.startAnimating()
    var delay = tom.animationDuration


}

问题2:

如何转换代码(Objective-C - > Swift)

    [self.tom performSelector:
                        @selector(setAnimationImages:) 
                        withObject:nil 
                        afterDelay:delay];

1 个答案:

答案 0 :(得分:0)

错误是因为您尝试将两个不同类型的值相乘。你不能这样做。将其中一个值转换为另一个值。

您没有发布足够的信息以确定要转换为的正确类型,但我会猜测:Double(images.count) * 0.05

你的第二个问题中的Objective C表达实现了一些东西,据我所知,它不存在,并且在Swift中根本没有意义。您应该努力在良好类型的边界上分离Objective C和Swift代码。在Swift代码中根本不需要那种东西。如果你需要这样做,它必须保持Objective C,直到你在Swift中重新实现相关模块并使用Swift抽象和类型来完成它。