문제는 두 부분으로 나눌 수 있습니다. 먼저 사용자가 이전에 응용 프로그램을 실행했는지 확인하려면 사용자가 응용 프로그램을 실행하는 모든 시간에 걸쳐 지속적으로 무언가를 쿼리해야합니다. 작은 데이터 비트의 경우 기본적으로 사전 인 NSUserDefaults를 사용할 수 있습니다. NSUserDefaults를 쿼리 할 때 해당 키에 대한 개체가 없으면 NSUserDefaults는 nil을 반환합니다. 이를 이용하여 "hasRunKey"와 같은 키를 쿼리 할 수 있습니다. nil을 반환하면 이전에 사용자가 앱을 실행하지 않았으므로 hasRunKey에 대한 객체를 설정해야 나중에는 nil을 얻지 못합니다. 설정이 컨트롤러를 볼 표시하는 두 번째 문제를 들어
if (![[NSUserDefaults standardUserDefaults] objectForKey:@"hasRunKey"]) {
[[NSUserDefaults standardUserDefaults] setObject: [NSNumber numberWithBool:YES] forKey:@"hasRunKey"];
[[NSUserDefaults standardUserDefaults] synchronize];
// Present the settings view controller -- see explanation below.
[self performSegueWithIdentifier:@"My Identifier" sender:self];
} else {
// Do what you normally do.
}
는, 당신은 MySettingsViewController 클래스의 일종으로 새 파일과 서브 클래스의 UIViewController를 추가해야합니다. 그런 다음 스토리 보드에서 사이드 패널의 UIViewController 객체를 드래그합니다. 해당 뷰 컨트롤러의 ID 관리자에서 방금 만든 MySettingsViewController 클래스를 설정하십시오. 관련 장소는 다음 이미지를 참조하십시오 :
https://www.evernote.com/shard/s230/sh/ac134774-530f-4649-b3a2-e46b8d712c78/0352134cc8fab7241d97292f4d6ff464).
첫 번째보기 컨트롤러를 선택하고 Ctrl 키를 누른 상태에서 MySettingsViewController로 드래그하여 둘 사이의 구획을 만듭니다. 스토리 보드에서 만든 segue를 클릭하고 속성 검사기 창을 사용하여 식별자를 지정하십시오. 이 시점에서 뷰 컨트롤러를 표시 할 방법을 선택할 수도 있습니다. 나는 당신의 목적을 위해 모달을 추천한다.
니콜라이 (Nikolai)가 권장했듯이 첫 번째보기 컨트롤러의 viewDidLoad 메서드는이 코드에 적합한 장소입니다.
예 : 폴 헤거 티 (Paul Hegerty)의 아이튠즈 (iTunes) U는 iOS 개발에 관한 강연을합니다. 스토리 보드 사용과 그 사이에서의 segueing 같은 기본적인 것들을 다루고 있습니다.