NSMutableArray *tblContents = [NSMutableArray arrayWithObjects: @"1", @"2", @"3", nil];
[tblContents addObject:txtNewTableRow.text];
Мое приложение аварийно завершает работу в строке 2. Сообщение об ошибке в консоли «NSInvalidArgumentException», причина: '- [NSCFString addObject:]: нераспознанный селектор, отправленный экземпляру xxx
Кстати, он работает нормальноесли я заменю инициализацию arraywithobjects на alloc & init!
, я просто создаю изменяемый массив и добавляю к нему объект.В чем проблема?
Спасибо, Шридхар Редди
Полный код: .h:
#import <UIKit/UIKit.h>
@interface TableStarterViewController : UIViewController
<UITableViewDelegate, UITableViewDataSource>
{
NSMutableArray *tblContents;
IBOutlet UITextField *txtNewTableRow;
IBOutlet UITableView *tblMain;
}
@property (nonatomic, retain) NSMutableArray *tblContents;
@property (nonatomic, retain) UITextField *txtNewTableRow;
@property (nonatomic, retain) UITableView *tblMain;
-(IBAction) addRowToTable;
@end
.m:
#import "TableStarterViewController.h"
@implementation TableStarterViewController
@synthesize tblContents;
@synthesize txtNewTableRow;
@synthesize tblMain;
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [tblContents count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:@"cell"];
cell.textLabel.text = [tblContents objectAtIndex:indexPath.row];
return cell;
}
-(IBAction) addRowToTable
{
[tblContents addObject:txtNewTableRow.text];
[tblMain reloadData];
}
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
tblContents = [NSMutableArray arrayWithObjects: @"1", @"2", @"3", nil];
[super viewDidLoad];
}
Это всекод.