Sök…
Anmärkningar
IBOutlet är varken ett reserverat ord eller en variabel eller klass, är syntaktiskt socker för Interface Builder. Efter att objektiv-C-källkoden har förbehandlats löses den till ingenting.
I Swift löses det som noll.
Det förklaras i <UIKit/UINibDeclarations.h>
som
#ifndef IBOutlet
#define IBOutlet
#endif
Använda en IBOutlet i ett UI-element
I allmänhet används IBOutlets för att ansluta ett användargränssnittsobjekt till ett annat objekt, i detta fall en UIViewController. Anslutningen tjänar till att objektet kan påverkas min kod eller händelser programmatiskt. Detta kan göras helt enkelt genom att använda assistenten från ett storyboard och styra-klicka från elementet till view-controllerens .h-egenskapssektion, men det kan också göras programmatiskt och manuellt ansluta IBOutlet-koden till "anslutningar" -fliken för objektet verktygsfältet till höger. Här är ett objektivt exempel på en UIViewController med etikettuttag:
//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
Och snabbt:
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"
}
}
Anslutningen mellan storyboard-objektet och det programmerade objektet kan verifieras som anslutet om punkten till vänster om uttalandet om utloppet i .h är fylld. En tom cirkel innebar en ofullständig anslutning.