我的NSMutableArray似乎正在发布,我无法弄清楚在哪里,这是我的代码:
- (void)awakeFromNib {
arrayOfData = [[NSMutableArray alloc] initWithCapacity:0];
[arrayOfData addObject:@"test"];
NSLog(@"array: %@", arrayOfData);
}
一切都很好!
然后我创建一个UITable并将其添加到视图中,然后我请求一些数据,一切正常。
arrayOfData = [response objectForKey:@"results"];
NSLog(@"count: %i", [arrayOfData count]);
NSLog(@"success!");
numberOfRows = [arrayOfData count];
[self.myTableView reloadData];
创建行数也可以正常工作:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSLog(@"test: %i", numberOfRows);
return numberOfRows;
}
现在访问我的数组会在该行获得“发送到解除分配的实例的消息”。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:MyIdentifier] autorelease];
}
// crashes here!
NSLog(@"array: %i", [arrayOfData count]);
if (numberOfRows){
NSString *filename = [[arrayOfData objectAtIndex:indexPath.row] objectForKey:@"filename"];
NSString *url = [NSString stringWithFormat: @"http://www.web.com/dir/%@", filename];
[cell.imageView setImageWithURL:[NSURL URLWithString:url]
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
cell.textLabel.text = @"My Text";
}
return cell;
}
我的标题中也有这个,我也使用@synthesize
@property (nonatomic, retain) NSMutableArray *arrayOfData;
任何帮助将不胜感激!
答案 0 :(得分:1)
您似乎正在使用此行重新分配arrayOfData
:
arrayOfData = [response objectForKey:@"results"];
如果这就是你想要的,那就试试吧:
arrayOfData = [[response objectForKey:@"results"] retain];