你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> swfit 實現代理 和 單例

swfit 實現代理 和 單例

編輯:IOS開發綜合

代理實現:

protocol FallingObjectDatasourceDelegate:class{
    func didCollisionWithTheBallBundary(sender:FallingObjectDatasource , numberOfDisappearedBalls:Int)
    func didCollisionWithTheBottomBundary(sender:FallingObjectDatasource)
}


class FallingObjectDatasource: NSObject{
  
    //申明delegate
    public weak var delegate:FallingObjectDatasourceDelegate? 
func collisionBehavior(_ behavior: UICollisionBehavior, endedContactFor item: UIDynamicItem, withBoundaryIdentifier identifier: NSCopying?){ if(identifier != nil) , identifier as! String == PathNames.ballBundaryName{ //調用代理方法 
         self.delegate?.didCollisionWithTheBallBundary(sender: self, numberOfDisappearedBalls: self.totalDrops - self.drops.count)
         }else  if identifier as? String  == PathNames.referenceBundayName{
           //調用代理方法
            self.delegate?.didCollisionWithTheBottomBundary(sender: self)

        }
    }

}

接下來就在要使用代理的類中實現其方法即可。

 

單例:

private let shareInstance = GameEngine()

class GameEngine: NSObject,FallingObjectDatasourceDelegate {
    class var share: GameEngine {
        return shareInstance
    }
}

使用: GameEngine.share.方法名。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved