毎回異なるタイトルで同じアラートを表示する必要がある したがって、文字列を取り、アラートのタイトルを変更する関数を作成したいこのアラートを表示するIOS SWIFT 2 - 別のシーンで異なるタイトルの同じアラートを表示
私の質問はどこですか?別のviewControllersから呼び出す方法は?
毎回異なるタイトルで同じアラートを表示する必要がある したがって、文字列を取り、アラートのタイトルを変更する関数を作成したいこのアラートを表示するIOS SWIFT 2 - 別のシーンで異なるタイトルの同じアラートを表示
私の質問はどこですか?別のviewControllersから呼び出す方法は?
独自のカスタムクラスを実装することでUIAlertControllerを拡張できます。次に、のタイトルを変更するだけで、このコントローラを表示することができます。以下はサンプルコードですが、動作します。あなたがそのコンセプトを理解することを願っています。
import UIKit
extension UIAlertController {
class func alertControllerWithTitle(title: String, message: String) -> UIAlertController {
let controller = UIAlertController(title: title, message: message, preferredStyle: .Alert)
controller.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil))
return controller
}
}
class ViewController: UIViewController {
let someProperty = 0
var alertTitle = ""
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
someMethod()
}
func someMethod() {
switch someProperty {
case 0:
alertTitle = "someProperty is 0"
case 1:
alertTitle = "someProperty is 1"
default:
alertTitle = "someProperty is default"
}
//present alert
let controller = UIAlertController.alertControllerWithTitle(alertTitle, message: "some message")
presentViewController(controller, animated: true, completion: nil)
}
}
ありがとうございます@aatalyk –
あなたはようこそ) – aatalyk
この関数は、スタンドアロン関数(つまり、構造体またはクラスの一部ではない)として作成できます。これは、View Controllerなどのクラスを呼び出すクラスと同じモジュール内のどこにでも存在できます。個人的には、ビューコントローラの近くのそれ自身のファイル(<yourFunctionName>.swift
と呼ばれます)または同様の機能を含むユーティリティファイルに配置します。
この関数はビューコントローラと同じモジュールで定義されているため、関数によって直接呼び出すことができます。
お返事ありがとうございました –
警告機能がparameter.Conformこのプロトコルのようタイトルを有すること、共通のクラスでその機能のためのプロトコルを作成し、それが設定さUIAlertController返す必要があり、そのクラスでこの機能を置き、一般的なクラスを作成します。アラートを表示するクラスをデリゲートから呼び出すとself.presentViewController(....
に表示されます。
私はUIAlertControllerの拡張を作成してそこに書きます。 – Byte
ありがとう@Byte –