ios - 如何用变量绑定(bind)窗体上的控件

标签 ios objective-c

我刚刚开始学习 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/

相关文章:

ios - 将 Alamofire POST 的 JSON 响应转换为可以显示的变量

ios - 将 Realm 与 Collection View 数据源最佳实践结合使用

ios - iOS 中现有 appid 的推送通知

ios - 如何使用 xcode 为其他证书/商店帐户构建 ios 应用程序

objective-c - cocoa 标题栏问题

objective-c - Objective-C,NSThread分离与performSelectorInBackground

ios - UICollectionView 在 Xcode 6.1 中崩溃 在 Xcode 5.1.1 中工作正常

ios - 使用来自 ios 应用程序的 facebook sdk4.0 在 facebook 上分享视频

ios - 如何确定 NSNumber 的真实数据类型?

javascript - 从 JavaScript 到 Objective-C 的通信