2017-01-15 9 views
-1

私の質問を説明しましょう。私は2つのViewControllerを持っています。第一VCで私は第二VC(モーダルモードで表示) enter image description here別のクラスのIBOutletにアクセスする&UILabelを更新する

enter image description here

から更新したいいくつかのラベルをしました。また、私は第二VC

@IBAction func approveDepart(_ sender: UIButton) { 
    removeAnimate() 

} 

&変数とを閉じる機能をしましたカレンダーから格納されたデータ

var someString: String? 

この関数の中で:

func calendar(_ calendar: MDCalendar, didSelect date: Date?) { 
    let today = date 

    //Date For API 
    let dateFormatter = DateFormatter() 
    dateFormatter.dateFormat = "yyyy-MM-d" 
    let apiDate: NSString = dateFormatter.string(from: today!) as NSString 

    //Date for week day 
    let dateFormatter1 = DateFormatter() 
    dateFormatter1.dateFormat = "EEE" 
    let weekDay: NSString = dateFormatter1.string(from: today!) as NSString 

    //Date for week number 
    let dateFormatter2 = DateFormatter() 
    dateFormatter2.dateFormat = "dd" 
    let weekNumber: NSString = dateFormatter2.string(from: today!) as NSString 

    //Date for month name 
    let dateFormatter3 = DateFormatter() 
    dateFormatter3.dateFormat = "MMM" 
    let monthName: NSString = dateFormatter3.string(from: today!) as NSString 

    someString = weekDay as String 


} 

どのように達成するためのアイデアですか? :)

+0

http://stackoverflow.com/documentation/ios/434/passing-data-between-view-controllers/2520/using-the-delegate-pattern-通過データバック#t = 20170115010844067429 – vacawama

+0

@vacawamaあなたは!私はこれを読んでいます –

答えて

-1

見つかりソリューション:)

let rootViewController = UIApplication.shared.keyWindow?.rootViewController 

    if let customViewController = rootViewController as? ChoseFlyView { 

     customViewController.departDay.text = someString 
    } 
+2

["Demeter"の法律(https://en.wikipedia.org/wiki/Law_of_Demeter)に本質的に違反し、別のクラスの中にあるものにアクセスします。代わりにメソッドをエクスポートして変更を行うと、呼び出し側は、呼び出されたクラスインスタンスによってデータがどのように処理されるかを知るべきではありません。現実の例:友人に1ドルを尋ね、そのポケットに手を届かないでください。また、お友達がお金をどこに保管していても、あなたはそうしないでください。 – zaph

関連する問題