2016-12-30 6 views
0

응용 프로그램이 백그라운드로 전환되고 모바일의 시간이나 날짜와 같은 일부 동작이 변경되어 foreground (응용 프로그램 활성 모드)로 전환 될 때 메서드 호출 방법.응용 프로그램이 백그라운드로 전환되고 전경에 오면 UIViewController 메서드를 호출합니다.

그럼 난의 UIViewController 클래스

FirstViewController 클래스 메소드의 메소드를 호출합니다.

-(void)refreshItems{ 
// Your item refresh code. 
} 

답변

0

확인이 코드에서

func applicationDidEnterBackground(_ application: UIApplication) { 
    if let appDelegate = UIApplication.shared.delegate as? AppDelegate, 
     let controller = appDelegate.window?.rootViewController as? FirstViewController { 
     controller.refreshItems() 
    } 
} 

func applicationWillEnterForeground(_ application: UIApplication) { 
    if let appDelegate = UIApplication.shared.delegate as? AppDelegate, 
     let controller = appDelegate.window?.rootViewController as? FirstViewController { 
     controller.refreshItems() 
    } 
} 

(FirstViewController 다른 윈도우의 rootViewController가 null를 AppDelegate에에 FirstViewController 인스턴스을 체크 인 경우) 목표 - C

- (void)applicationDidEnterBackground:(UIApplication *)application { 
    AppDelegate *appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate; 
    FirstViewController *controller = (FirstViewController*)[[appDelegate window] rootViewController]; 
    [controller refreshItems]; 
} 


- (void)applicationWillEnterForeground:(UIApplication *)application { 
    AppDelegate *appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate; 
    FirstViewController *controller = (FirstViewController*)[[appDelegate window] rootViewController]; 
    [controller refreshItems]; 
} 
+0

Objective - C – kiran

1

난 그냥 필요한 것 같아요

[[NSNotificationCenter defaultCenter] addObserver : 셀렉터 : @ 선택기 (refreshItems) 이름 : UIApplicationDidBecomeActiveNotification 개체 : 없음];

0
you have set notification in appDelegate class 

    - (void)applicationWillEnterForeground:(UIApplication *)application { 

     [[NSNotificationCenter defaultCenter] postNotificationName:@"forground"  object:nil]; 

    } 

and add observer to your viewcontroller class viewdidload() methos 

    [[NSNotificationCenter defaultCenter] addObserver:self 
               selector:@selector(showMainMenu:) 
                name:@"refreshItems" object:nil];