             objc_setAssociatedObject(self, _displayingKey, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN);
         }
     }
-
+    
     private var cache:NSCache{
         get {
             return (objc_getAssociatedObject(self, _cacheKey) as! NSCache)

            objc_setAssociatedObject(self, _syncFactorKey, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN);
        }
    }

    public var loopTime:Int{
        get {
            return (objc_getAssociatedObject(self, _loopTimeKey) as! Int)

        self.init()
        AddGifImage(gifImage,manager: manager,loopTime: loopTime);
    }
    
    public func AddGifImage(gifImage:UIImage,manager:JWAnimationManager){
        // -1 means always run
        AddGifImage(gifImage,manager: manager,loopTime: -1);
    }
    
    public func AddGifImage(gifImage:UIImage,manager:JWAnimationManager,loopTime:Int){
        self.loopTime = loopTime
        if (manager.SearchImageView(self)==false){
            self.gifImage = gifImage
            self.animationManager = manager
