我有一個WKInterfaceController的WatchKit應用程序,InterfaceController.m。它創建分頁內容是這樣的:如何讓Apple Watch更新使用WKInterfaceController reloadRootControllersWithNames創建的頁面:上下文?
- (void)willActivate {
[super willActivate];
NSDate *now = [[NSDate alloc] init];
NSDictionary *time = @{@"time":[NSString stringWithFormat:@"%f",[now timeIntervalSince1970]]};
NSArray *contexts = [[NSArray alloc] initWithObjects:time,time,nil];
NSArray *names = [[NSArray alloc] initWithObjects:@"page",@"page",nil];
[WKInterfaceController reloadRootControllersWithNames:names contexts:contexts];
}
的WKInterfaceController以「頁」的標識符稱爲PageInterfaceController.m,只是顯示由InterfaceController.m
- (void)awakeWithContext:(id)context {
[super awakeWithContext:context];
[label setText:[context objectForKey:@"time"]];
}
發送的時間這個偉大的工程第一它的時間被加載,但在退出並重新啓動應用程序後,它顯示了舊時代。我怎樣才能讓應用程序返回到InterfaceController.m並更新時間?
是的,我知道我可以把時間放在PageInterfaceController中,但在我的真實應用程序中,InterfaceController獲取位置數據並將其發送到頁面,甚至確定要創建的頁面數量。
您可以在這裏下載的全樣本項目:
viewWillActivate將只顯示與以前相同的上下文。它需要返回到初始的InterfaceController以獲取新的位置數據。 –
你的問題對這個問題太模糊了。如果問題是您無法讓原始控制器更新數據,請停止嘗試強制其執行該操作。把一個類放在可以爲兩個控制器獲取數據的上下文中並使用它。 –
順便說一句,我無法想象爲什麼有人想要幫助你的機會,如果你想減少答案,最終不會是正確的。大多數人只會冷靜地回答這些簡單的問題,而不是最終沒有幫助的答案。 –