비디오: Introduction to iOS, by Rhed Shi 2024
Interface Builder를 사용하여 iPad 응용 프로그램의 모달보기 요소를 작성하기 전에 먼저 코드에서 세 가지 작업을 수행해야합니다 인터페이스를 인터페이스 빌더 인터페이스 객체에 연결하는 앱 코드에 콘센트를 배치합니다. 컴파일러에서 접근자를 만들려면 코드에서 세 가지 작업을 수행해야합니다.
-
인터페이스 파일에서 인스턴스 변수를 선언합니다.
-
같은 인스턴스 파일의 @property 선언을 같은 인터페이스 파일에 추가합니다 (대개 비 원자 속성 포함).
선언은 속성의 이름과 유형은 물론 접근 자 메소드를 어떻게 구현할 것인지에 대한 정보를 컴파일러에 제공하는 일부 속성을 지정합니다.
예를 들어, @property (nonatomic, assign) 선언 NSString * wordsOfWisdom; NSString 객체에 대한 포인터 인 wordsOfWisdom이라는 속성을 선언합니다. nonatomic과 assign - nonatomic의 두 속성은 컴파일러에게 값을 직접 반환하는 접근자를 생성한다는 것을 알려주며, 이는 사용 중에 접근자가 중단 될 수 있다는 또 다른 표현입니다. 두 번째 값인 assign은이 속성에 할당 된 모든 객체에 할당 메시지를 보내는 접근 자 메서드를 만들도록 컴파일러에 지시합니다.
-
구현 파일에서 @synthesize를 사용하여 Objective-C가 접근자를 생성하도록합니다.
@property 선언은 접근자를 선언해야합니다. @synthesize 문은 컴파일러에서 자동으로 생성하도록 지시합니다.
다음 예제 코드에서는 텍스트 입력 필드를 가리키는 점과 속도 슬라이더를 가리키는 점 중 하나를 두 개 생성해야합니다. 이 아울렛 사업을 시작하려면 IBOutlet 키워드를 사용하여 각 콘센트를 선언해야합니다.
#import @protocol SettingsViewControllerDelegate; @interface SettingsViewController: UIViewController {델리게이트; NSString * wordsOfWisdom; float sliderValue; IBOutlet UITextField * theTextField; IBOutlet UISlider * slider;} - (IBAction) done; - (IBAction) speedChanged: (id) 발신자; @property (비 원자, 할당) id delegate; @property (비 원자, 할당) NSString * wordsOfWisdom; @property (비 원자, 할당) UISlider * 슬라이더; @end @protocol SettingsViewControllerDelegate - (void) settingsViewControllerDidFinish:(SettingsViewController *) 컨트롤러; - (void) changeSpeed : (double) newSpeed; @end
IBOutlet 문과 함께 Interface Builder 요소에 대한 두 가지 동작 메서드 (done 및 speedChanged)가 선언되며, IBOutlet 문과 함께 UITextField (theTextField)에 대한 포인터로 자동 초기화되는 출력을 선언합니다. 응용 프로그램이 시작되면 UISlider (슬라이더)입니다.그러나 자동으로 실행되지만 자동으로 자동으로 실행되지는 않습니다. 당신은 조금 도와 줘야합니다.
객체의 인스턴스 변수에 대한 액세스를 제공하는 메소드는 접근 자 메소드, 라고하며 유효하게 (getter 메소드를 사용하여) 인스턴스 변수에 대한 값을 설정 메소드를 사용하여 설정합니다. 이러한 방법을 직접 코딩 할 수는 있지만 지루할 수 있습니다. Objective-C 선언 속성 (Objective-C Declared Properties) 기능은 개체의 접근 자 메서드를 선언하고 구현하는 간단한 방법을 제공합니다. 컴파일러는 속성 선언에서 말한 방식에 따라 접근 자 메서드를 합성 할 수 있습니다.