Поиск…
замечания
IBOutlet не является ни зарезервированным словом, ни переменной или классом, является синтаксическим сахаром для Interface Builder. После того, как исходный код Objective-C предварительно обработан, он ничего не разрешает.
В Swift это разрешено как ноль.
Он объявлен в <UIKit/UINibDeclarations.h>
как
#ifndef IBOutlet
#define IBOutlet
#endif
Использование IBOutlet в элементе пользовательского интерфейса
В общем, IBOutlets используются для подключения объекта пользовательского интерфейса к другому объекту, в этом случае UIViewController. Соединение служит для того, чтобы объект мог повлиять на мой код или события программным путем. Это можно сделать, просто используя ассистента из раскадровки и щелкнув элемент управления с элемента на раздел свойств .h, а также можно программно и вручную подключить код IBOutlet к вкладке «Соединения» объекта панель служебных программ справа. Вот пример объектного примера 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 заполнена. Пустой круг подразумевал неполное соединение.