2 yue1liang1chuan yue1liang1chuan 于 2013.03.15 10:24 提问

添加字符串到NSMutable数组中

创建了一个列表应用,只要按按钮就可以添加字符串到mutable数组中。不过我的代码运行之后,点击按钮只有最后的数组添加成功了。

- (IBAction)notebutton:(UIButton *)sender {

   NSMutableArray *mystr = [[NSMutableArray alloc] init];
   NSString *name = _noteField.text;
   [mystr addObject:name];
   [self.tableView reloadData];
}

2个回答

zhanglei5415
zhanglei5415   Rxr 2013.03.17 16:42
已采纳

这是因为,你每次点击这个按钮的时候都会重新创建NSMutableArray 对象

- (IBAction)notebutton:(UIButton *)sender {
   NSMutableArray *mystr = [[NSMutableArray alloc] init];

如何解决?
你只需要将*mystr声明放到头文件中,作为属性或私有变量来定义。如

@interface yourClass:NSObject 
{
     NSMutableArray  *mystr;
}
@end

在.m的init方法中来初始化这个NSMutableArray

@implementation yourClass

-(id)init {
    if (self=[super init]) {
          mystr=[[[NSMutableArray alloc] initWithCapacity:0] autorelease];
    }
}
@end

做完这两步,你就可以直接在你的IBAction中来使用了

- (IBAction)notebutton:(UIButton *)sender {
   NSString *name = _noteField.text;
   [mystr addObject:name];
   [self.tableView reloadData];
}
dream238
dream238   2013.03.15 11:05

NSString *name = _noteField.text;
试试NSString *name = [NSString stringWithString:_noteField.text];

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!