我刚刚开始学习 iOS 开发,正在观看斯坦福 iOS 类(class),但看起来我已经错过了一些东西。
我有一个带有 UILabel 和 UIButton 的表单。当用户按下按钮时,按钮的标题必须添加到标签的文本中。
这是我当前的 CalculatorViewController.h:
#import <UIKit/UIKit.h>
@interface CalculatorViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *display;
@end
这是一个 CalculatorViewController.m:
#import "CalculatorViewController.h"
@implementation CalculatorViewController
@synthesize display = _display;
- (IBAction)digitPressed:(UIButton *)sender {
NSString *digit = [sender currentTitle];
UILabel *myDisplay = self.display;
myDisplay.text = [myDisplay.text stringByAppendingString:digit];
}
@end
问题在于 self.display(和 myDisplay)变量的值为 nil。看起来我需要做一些事情来将我的变量与表单上的控件链接起来。什么?
提前致谢。
最佳答案
您需要将控件、Interface Builder 中的 UILabel
链接到您的 CalculatorViewController
类中的变量。
很可能文件的所有者(说的是Xib文件)就是你的CalculatorViewController
,所以你需要按住Control+拖动文件的所有者(或者代表你VC的对象)到控件您将看到一个菜单,其中包含在您的类中声明的可能的 IBOutlet
变量,因此您可以选择要代表控件的变量。
您可以通过两种方式检查此链接是否正确设置:(1) 在 Interface Builder 中选择 UILabel 并在 Connections Inspector 中查看是否存在到变量的连接,或者 (2) 在您的代码中您将看到IBOutlet 声明附近的项目符号,如果项目符号是空心的,则未设置连接,如果项目符号是实心的,则已设置连接。
关于ios - 如何用变量绑定(bind)窗体上的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22626657/