gpt4 book ai didi

ios - 属性实现必须在接口(interface)中声明

转载 作者:行者123 更新时间:2023-11-28 23:05:49 25 4
gpt4 key购买 nike

当我尝试编译它时,我得到了这个错误。接口(interface)中的属性声明需要添加什么?如果 textBox 是实例变量,为什么需要声明为属性?

ViewController.h

#import <UIKit/UIKit.h>

@interface TNRViewController : UIViewController {

IBOutlet UITextField *textBox;
IBOutlet UILabel *label;
}
- (IBAction)button:(id)sender;

@end

ViewController.m

#import "TNRViewController.h"

@implementation TNRViewController
@synthesize textBox;

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}

- (void)dealloc {
[textBox release];
[label release];
[super dealloc];
}
- (IBAction)button:(id)sender {
NSString *Name = textBox.text;
NSString *Output = Nil;
Output = [[NSString alloc] initWithFormat:@"%@ says: Hello World!", Name];
label.text = Output;
[Output release];
}

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
[textBox resignFirstResponder];
return YES;
}
@end

最佳答案

textBox 需要声明为属性,因为您在实现中对它进行了@synthesizing。

您需要:

  1. 在您的界面中为文本框添加@property 声明。

  2. 或者,如果您不打算需要 setter/getter 方法,则可以从您的实现中删除 @sythesize 行。

关于ios - 属性实现必须在接口(interface)中声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9319534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com