Iphone - Class属性导致崩溃

时间:2010-07-27 19:32:17

标签: iphone objective-c cocoa-touch uitextfield

所以我对这个目标仍然很陌生C认为我遇到了一个问题,我不确定其根本原因。

我的h文件看起来基本上是这样的:

@interface DrinkDetailViewController : UIViewController<UITextFieldDelegate>
{
    UITextField* nameTextField;
    UITextField* activeView;
}
@property (nonatomic,retain) IBOutlet UITextField* nameTextField;

在我的m文件中,我正在实现委托功能:

-(BOOL) textFieldShouldBeginEditing:(UITextField*) textField
{
    activeView = textField;
    return YES;
}

问题是如果我宣布activeView也是一个属性(意味着添加属性,合成和所有交易),那么当我离开视图(这是一个基于导航的项目)时,我的应用程序崩溃了。但是,如果我把它作为非财产生活,一切似乎都可以。为什么??? ???

2 个答案:

答案 0 :(得分:1)

因为这是一个你需要这样称呼它的属性:

self.activeView = textField;

这样就会应用正确的内存管理规则,并且还会为您完成KVO通知。

答案 1 :(得分:1)

您是在实现文件中合成activeView:

@synthesize activeView;