2017-04-13 56 views
1

我正在關注教程here以顯示UIImage上的GIF圖像。我有寫擴展UIImage+GIF.swift這基本上是這樣的:爲什麼擴展到UIImage不起作用?

extension UIImage { 

    public class func gifImage(named: String) -> UIImage { 
     ... 
    } 
} 

與一羣其他功能一起。

但是,當我試着這樣做:

myImageView.image = UIImage.gifImage(named: "loading.gif"); 

Xcode的抱怨type UIImage has no member "gifImage"。爲什麼?任何我如何解決這個問題?謝謝。

編輯:

我還試圖使它成爲一個靜態函數就是這樣,但它仍然不能正常工作:

extension UIImage { 

    static func gifImage(named: String) -> UIImage { 
     ... 
    } 
} 
+0

[http://stackoverflow.com/questions/27919620/how-to-load-gif-image-in- swift](http://stackoverflow.com/questions/27919620/how-to-load-gif-image-in-swift) –

+0

@NiravHathi謝謝。我通過這個相同的質量保證實際上找到了我的問題中的鏈接。這導致了原來的問題,我不能在這個特定的擴展上訪問靜態函數。 –

回答

0
import UIKit  
extension UIImage { 
     func gifImage(named: String) -> UIImage { 
      //Add your logic here 
     } 
    } 

這應該工作。

+0

如果我想添加一個「靜態」功能?我可以直接從'UIImage'類調用而不需要實例化它的函數。 –

0

讓您extenssion公共

public extension UIImage { 

public func gifImage(named: String) -> UIImage { 
    ... 
} 
} 

使用extenssion這樣

yourImageView.gifImage(named: "your image name") 
+0

我已將'public'關鍵字添加到'extension',但它仍然不起作用... –

+0

不使它成爲類功能我已編輯答案請檢查。 –

+0

嗯好吧,讓我試試看。我需要對功能進行修改。 –

相關問題