我剛開始進入apple AVFoundation包以使用相機創建應用程序。我注意到,在我的代碼中,我使用了相當數量的公共變量與Apple CameraViewController和我的CameraVC進行通信,以控制實際視圖。例如:過度使用兩個ViewControllers之間的公共變量
public var _photoButton: UIButton!
public var _imageTaken: UIImageView!
public var _sendBtn: UIButton!
public var _dismissBtn: UIButton!
public var _videoDismissBtn: UIButton!
public var _videoSendBtn: UIButton!
public var photoData: Dictionary<String, Data>!
我使用這些變量與按鈕我有我的用戶界面,執行特殊任務連接,藏漢爲到我的其他的ViewController通過圖像/視頻數據。 (關閉當前的圖像/視頻,將當前的圖像/視頻發送到服務器)。我試圖堅持使用最佳實踐,但我無法想到更好的解決方案。使用這些公共變量會對我的應用程序的性能產生什麼影響,如果可能,我該如何更好地編寫這些內容?
實施例:CameraVC(未蘋果CameraViewController)
@IBAction func sendBtnPressed(_ sender: Any) {
performSegue(withIdentifier: "FriendsVC", sender: ["snapshotData": photoData.removeValue(forKey: "photoData")])
self.view.insertSubview(previewView, aboveSubview: imageTaken)
self.sendBtn.isHidden = true
self.sendBtn.isEnabled = false
self.dismissBtn.isEnabled = false
self.dismissBtn.isHidden = true
}
@IBAction func dismissBtnPressed(_ sender: Any) {
self.view.insertSubview(previewView, aboveSubview: imageTaken)
self.sendBtn.isHidden = true
self.sendBtn.isEnabled = false
self.dismissBtn.isEnabled = false
self.dismissBtn.isHidden = true
self.photoData = nil
return
}
您可以在您嘗試傳遞這些變量的位置添加代碼嗎?其實這些可以保密。並且可以提供包裝方法來修改它們。 –
當然,這裏是一個例子 – Chris