수색…


비고

IBOutlet은 예약어도 변수 또는 클래스도 아니며 Interface Builder의 구문 설탕입니다. Objective-C 소스 코드가 사전 처리 된 후에는 아무 것도 해결되지 않습니다.

스위프트에서 그것은 nil로 해결됩니다.

<UIKit/UINibDeclarations.h> 과 같이 선언되었습니다.

#ifndef IBOutlet
#define IBOutlet
#endif

UI 요소에서 IBOutlet 사용

일반적으로 IBOutlets는 사용자 인터페이스 객체를 다른 객체 (이 경우에는 UIViewController)에 연결하는 데 사용됩니다. 연결은 객체가 내 코드 또는 이벤트에 프로그래밍 방식으로 영향을 줄 수 있도록합니다. 이 작업은 스토리 보드의 보조자를 사용하고 요소에서 뷰 컨트롤러의 .h 속성 섹션을 Control- 클릭하는 것만으로 간단하게 수행 할 수 있지만 프로그래밍 방식으로 수행하고 IBOutlet 코드를 객체의 "연결"탭에 수동으로 연결할 수도 있습니다 오른쪽 유틸리티 모음. Label outlet이있는 UIViewController의 예가 다음과 같습니다.

//ViewController.h
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

//This is the declaration of the outlet
@property (nonatomic, weak) IBOutlet UILabel *myLabel;

@end

//ViewController.m
#import "ViewController.h"

@implementation ViewController

@synthesize myLabel;

-(void) viewDidLoad {

    [super viewDidLoad];
    //Editing the properties of the outlet
    myLabel.text = @"TextHere";
    
}

@end

그리고 신속 :

import UIKit
class ViewController: UIViewController {
    //This is the declaration of the outlet
    @IBOutlet weak var myLabel: UILabel!


    override func viewDidLoad() {
        super.viewDidLoad()
        //Editing the properties of the outlet
        myLabel.text = "TextHere"
    }
}

스토리 보드 객체와 프로그래밍 된 객체 간의 연결은 .h의 콘센트 선언 왼쪽에있는 점이 채워진 경우 연결 상태로 확인 될 수 있습니다. 빈 원은 불완전한 연결을 암시합니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow