【发布时间】:2012-02-28 08:54:36
【问题描述】:
我编写了一个简单的 ios5 应用程序(包括垃圾收集器),它有一个单一的视图和一个 UITextField
我需要分析此UITextField 中的输入文本
这是我的代码。
头文件:
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UITextFieldDelegate>
{
IBOutlet UITextField *myTextField;
}
@property (nonatomic, retain) IBOutlet UITextField *myTextField;
-(IBAction)editingChanged:(UITextField *)sender;
editingChanged: 跟踪发送事件编辑已更改,因此每次用户更改我的 UITextField 中的某些内容时,此方法都会调用
部分实现文件:
#pragma mark - textField
-(NSString *)stringWithoutAbc:(NSString *)sourceString
{
NSString *resultString=[sourceString stringByReplacingOccurrencesOfString:@"abc:" withString:@""];
if (![resultString isEqualToString:sourceString])
{
NSLog(@" sourceString: %@", sourceString);
NSLog(@" resultString: %@", resultString);
};
return resultString;
}
-(IBAction)editingChanged:(UITextField *)sender
{
NSLog(@"editing Changed. text: %@", sender.text);
//removing "abc:" from string in text field
NSString *str=[self stringWithoutAbc:sender.text];
//if something was removed - changing text in text field
if (![str isEqualToString:sender.text])
{
sender.text=str;
};
}
每次用户更改UITextField 中的文本时,我们都会使用标准NSString 方法从该文本中删除“abc:”字符串。
问题是:应用程序不稳定。当“abc:”被删除时,它有时会崩溃。 请帮帮我。如何解决这个问题?
【问题讨论】:
-
通常在键入文本的开头(或结尾)删除 2-3 次 "abc:" 时崩溃。我们在
UITextField的输入文本中间输入“abc:” -
你检查过 NSZombie's with Instruments 吗?
-
垃圾收集器?在 iOS 中?你是说ARC吗?
-
我正在启动分析(仪器应用程序)-> 内存-> 僵尸。当然有一些内存分配。如何查看是否有僵尸?
-
有一个要勾选的复选框,然后你运行你的软件直到它崩溃。 Instruments 会告诉你它是否检测到僵尸并引导你到负责的线路。
标签: iphone objective-c ios5 uitextfield uitextfielddelegate