Szukaj…


Uwagi

IBOutlet nie jest ani słowem zastrzeżonym, ani zmienną, ani klasą, jest cukrem syntaktycznym dla Interface Builder. Po wstępnym przetworzeniu kodu źródłowego Objective-C jest on rozwiązywany do zera.

W Swift jest to rozwiązywane jako zero.

Jest zadeklarowany w <UIKit/UINibDeclarations.h> jako

#ifndef IBOutlet
#define IBOutlet
#endif

Korzystanie z IBOutlet w elemencie interfejsu użytkownika

Ogólnie rzecz biorąc, IBOutlety są używane do łączenia obiektu interfejsu użytkownika z innym obiektem, w tym przypadku UIViewController. Połączenie służy do programowego wpływu na mój kod lub zdarzenia na obiekt. Można to zrobić po prostu za pomocą asystenta w serii ujęć i kliknięciu z wciśniętym klawiszem Control w elemencie do sekcji właściwości .h kontrolera widoku, ale można to również zrobić programowo i ręcznie łącząc kod IBOutlet z zakładką „połączenia” obiektu pasek narzędzi po prawej stronie. Oto przykładowy cel UIViewController z gniazdem etykiet:

//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

I szybki:

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"
    }
}

Połączenie między obiektem scenorysowym a zaprogramowanym obiektem można zweryfikować jako połączone, jeśli kropka po lewej stronie deklaracji wylotu w .h jest wypełniona. Pusty okrąg sugerował niepełne połączenie.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow