私は、カメラを使用してアプリを作成するためにapple AVFoundationパッケージに入っています。私のコードでは、アップルのCameraViewControllerと実際のビューを制御するCameraVCと通信するためにかなりの量の公開変数を使用しています。たとえば:2つの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に上の画像/ビデオデータを渡すためにaswellとして、私は特別なタスクを実行する私のUI上で持っているボタンで接続するためにこれらの変数を使用しています。 (現在の画像/ビデオを閉じる、現在の画像/ビデオをサーバに送る)。私は自分のベストプラクティスを使うようにしていますが、もっと良い解決策は考えられませんでした。これらのパブリック変数を使用すると、私のアプリのパフォーマンスにどのような影響がありますか?可能であれば、どうすればよいでしょうか?
例: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