私は、SettingsControllerにセグメント化されたコントロールを持っています。UILabelを他のView Controllerから設定する
セグメント化されたコントロールは、温度を摂氏 または華氏で表示できます。
現在の温度を摂氏で表示する温度ラベルがあるmainViewControllerがあります。
セグメント化されたコントロールをクリックすると、温度を適切な単位に変換してmainViewControllerに表示したいと思います。 mainViewControllerで
@IBOutlet weak var temperatureUnitSegmentedControl: UISegmentedControl!
var mainViewController : MainViewController?
@IBAction func temperatureSegmentedControlListener(sender: UISegmentedControl) {
switch temperatureUnitSegmentedControl.selectedSegmentIndex
{
case 0:
showTemperatureInCelsius()
case 1:
showTemperatureInFahrenheit()
default:
break;
}
}
func showTemperatureInCelsius(){
mainViewController?.setTempInCelsius()
}
func showTemperatureInFahrenheit(){
mainViewController?.setTempInFahrenheit()
}
私は、変換を行うと、このコードはmainViewController内の関数に当たらないとラベルの値が更新されない温度ラベルに
func setTempInCelsius(){
temperatureLabel.text = "In Celsius"
log?.debug("Temperature Celsius\(batteryTemperatureLabel.text)")
}
func setTempInFahrenheit(){
temperatureLabel.text = "In Fahrenheit"
log?.debug("Temperature Fahrenheit\(batteryTemperatureLabel.text)")
}
を更新したいです。
ご協力いただければ幸いです。ありがとうございます
はじめに:変数mainViewControllerをどこで設定しますか?また、あなたが表示する最初のコードブロックが 'SettingsController'にあると仮定します。私の推測では、単にあなたが望むコントローラーに変数を設定することはないでしょう。ああ、それが親の場合、varを弱くすることを忘れないでください。そうしないと、保持サイクルに入るでしょう。 – Gero
あなたの問題を解決するリンクを確認してください。http://stackoverflow.com/questions/5210535/passing-data-between-view-controllers – Joe