Tôi cần chuyển một biến từ AppDelegate sang một lớp khác mà tôi đã tạo để giữ các biến toàn cầu của dự án và tôi không thể tìm cách làm cho nó hoạt động.Swift Truyền dữ liệu từ appDelegate sang lớp khác
Đây là mã trong appdelegate:
func application(application: UIApplication!, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData!) {
println("Device's token is: \(deviceToken)")
//Global Variables Class Instance
let globals:Globals = Globals()
globals.setDeviceToken("test1") //method1 not working
globals.deviceToken = "test2" //method2 not working
}
Đây là Globals Lớp tôi:
public class Globals {
var deviceToken = String()
init() {
//nothing
}
func setDeviceToken(s:String){
deviceToken = s
}
func getDeviceToken() -> String {
return deviceToken
}
}
Nếu tôi cố gắng để in các giá trị, từ các tập tin khác của dự án, tôi không thể lấy bất cứ thứ gì, chỉ là một chuỗi rỗng.
class ViewController: UIViewController {
//Global Variables Class Instance
let globals:Globals = Globals()
override func viewDidLoad() {
println(globals.getDeviceToken()) //return empty string
println(globals.deviceToken) //return empty string
*** UPDATE: Đối với những người đã bỏ phiếu cho câu hỏi của tôi: Cảm ơn bạn rất nhiều. Xin lỗi nếu tôi không phải là một chuyên gia của Swift (chưa) và xin lỗi nếu tôi đang sử dụng stackoverflow để hỏi một cái gì đó tôi không biết!
Cần có bao nhiêu dữ liệu trong ứng dụng được ủy quyền? KHÔNG AI! KHÔNG BAO GIỜ! Đừng làm thế. Nó không phải là những gì ứng cử viên được cho. – Fogmeister
Không cần phải lo lắng, tôi chỉ là người mới bắt đầu và tôi đang cố gắng học. @Fogmeister – MeV