gpt4 book ai didi

cocoa-touch - 如何在 Iphone 上使用 Objective-C 在 Controller 中初始化自定义类/对象

转载 作者:行者123 更新时间:2023-12-04 15:28:36 24 4
gpt4 key购买 nike

我有一个简单的“模型”类(当然还有构造函数)

@implementation Widget
@synthesize name;
@synthesize color;

- (id) init
{
if (self = [super init])
{
self.name = @"Default Name";
self.color = @"brown";
}
return self;
}

@end

我已经将它声明为我的 Controller 的内部成员,如下所示:
#import <UIKit/UIKit.h>
#import "Widget.h"

@interface testerViewController : UIViewController {
IBOutlet UITextField *stuffField;
Widget *widget;
}

@property (nonatomic, retain) UITextField *stuffField;
@property (nonatomic, retain) Widget *widget;
- (IBAction)buttonPressed:(id)sender;
@end

和......我试图在我的 Controller 中初始化它,如下所示:
#import "testerViewController.h"
@implementation testerViewController
@synthesize stuffField;
@synthesize widget;

- (IBAction)buttonPressed:(id)sender
{
stuffField.text = widget.name;
}

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
widget = [[Widget alloc] init];
}
return self;
}

但是..它似乎没有初始化我的对象,因为我的文本字段每次都变成空白。有什么线索吗?

最佳答案

尝试使用

-(void) viewDidLoad{} 方法来初始化你的数据

在您的界面类中使用 @class Widget 而不是 #import "Widget.h"

并在您的实现类中使用 #import "Widget.h"

并确保您进入您的 buttonPressed 处理程序!

关于cocoa-touch - 如何在 Iphone 上使用 Objective-C 在 Controller 中初始化自定义类/对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/641829/

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