iphone - 关于以编程方式创建 UITextField 的问题

标签 iphone ios

我有两个类:

  • RootViewController.h
  • RootViewController.m

在我的 RootViewController.h 中

// in .h file 
UITextField* myTextField_;

@property (nonatomic, retain) UITextField* myTextField.

在我的 RootViewController.m 中

// in .m file
@synthesize myTextField = myTextField_

// in dealloc
[myTextField_ release]


// in viewDidLoad
UITextField* tf  = [[UITextField alloc] init] initWithFrame:CGRectMake(200,6,100,30)];
[nameTextField_ = tf];
[tf release]

我的问题是, 这会造成任何内存泄漏吗?还是会崩溃?有没有更好的方法来创建 UITextField 的实例以便我保留对它的引用?也许

myTextField_ = [[UITextField alloc] init] initWithFrame:CGRectMake(200,6,100,30)];

这就足够了吗?

最佳答案

最简单的方法是这样做:

.h:

UITextField *myTextField;
@property (nonatomic, retain) UITextField *myTextField;

.m

@synthesize myTextField;

- (void)viewDidLoad {
    myTextField = [[UITextField alloc] initWithFrame:CGRectMake(200,6,100,30)];
}

- (void)dealloc {
    [myTextField release];
}

您将拥有一个以最干净的方式分配和释放的实例,并且您将一直引用该文本字段。

关于iphone - 关于以编程方式创建 UITextField 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7330787/

相关文章:

iphone - 禁用后退按钮并将取消按钮放在导航 View Controller 中——就像联系人 iPhone 应用程序

ios - 尝试使用覆盖的 getter/setter 记录整个托管对象时出现无法识别的选择器 "length"

iphone - 在Apple AppStore中跟踪链接到我的应用程序的网站

iphone - 在 iPhone 上,如何每天检查一次以确定是否应该打电话回家?

iphone - 模态视图阻止其他 View 旋转

ios - 为什么新线程指向主线程?

ios - UICollectionView 旋转动画

ios - 改变色温而不是 iOS 屏幕的亮度

iPhone/ cocoa : NSPredicate regex replace?

html - 如何将内容保存在 UIWebView 中以便在下次启动时更快地加载?