2014-12-06 13 views
5

Tôi đang làm việc trên một ứng dụng nhanh và tôi đã tạo liên kết đến các chế độ xem khác bằng cách sử dụng presentViewController nhưng tôi không thể tìm ra cách chuyển các biến. Làm cách nào để chuyển biến cho chế độ xem mới?Vượt qua các biến với PresentViewController trong Swift

@IBAction func WorkoutPressed(sender: AnyObject) { 
    let storyBoard = UIStoryboard(name: "Main", bundle:nil) 
    let workoutView = storyBoard.instantiateViewControllerWithIdentifier("workoutView") as WorkoutViewController 
    self.presentViewController(workoutView, animated: false, completion: nil) 
    //self.navigationController?.pushViewController(workoutView, animated: true) 
} 

Cảm ơn

+3

'workoutView.someVariable =" vâng, thật dễ dàng "' –

+0

Vì vậy, trước self.presentViewController, tôi có một dòng có thể thêm tham số? Tôi đặt các biến là các tham số ở đâu? – Marcus

+2

Tại sao bạn gọi chúng là thông số? Chúng là các biến, ngay cả khi bạn đặt chúng từ bên ngoài đối tượng. Nếu viewController của bạn có một biến, bạn có thể thiết lập nó. Hoặc bạn đã thiết lập các biến của WorkoutViewController tư nhân? --- Tôi khuyên bạn nên chỉnh sửa câu hỏi của mình để hiển thị ví dụ về biến mà bạn không thể đặt. Có một vài khả năng khiến bạn không thể thiết lập biến từ bên ngoài. Vì vậy, có thể bạn đã gặp phải một trong số này. Nhưng bạn phải thể hiện một số mã thực sự hoặc chúng tôi không thể giúp đỡ. –

Trả lời

8

Đây là dễ dàng hơn bạn nghĩ: bạn không cần phải vượt qua các thông số vì bạn có thể truy cập các biến lớp học của bộ điều khiển xem tiếp theo trực tiếp.

Đó là, bạn có thể làm một cái gì đó như thế này:

workoutView.myVar = myVal 

Và, khi mà xem tải, myVar sẽ có giá trị myVal. (Đừng quên khai báo nó trong WorkoutViewController, mặc dù).

Các vấn đề liên quan