应用程序终止没有错误

时间:2011-12-26 08:46:22

标签: objective-c cocoa-touch ios4 iphone-sdk-3.0

我的应用程序在成功切换到视图时终止于模拟器。我确定它很容易,这里是终止应用程序的视图中的.m文件。也许某事不会释放。它不会在控制台中抛出错误,页面加载,停留几秒钟,然后终止并在调试器中抛出mach_msg_trap。如果我按下播放按钮,它将继续。

  @implementation ProspectViewController

@synthesize jsonArray;

- (void)viewDidLoad {
[super viewDidLoad];
NSURL *jsonURL = [NSURLURLWithString:@"https://www.mysite.php"];

NSString *jsonData = [[NSString alloc] initWithContentsOfURL:jsonURL];


self.jsonArray = [jsonData JSONValue]; 


[jsonURL release];
[jsonData release];
}



- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section  {
return [jsonArray count];
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSDictionary *infoDictionary = [self.jsonArray objectAtIndex:indexPath.row];
static NSString *Prospects = @"agencyname";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:Prospects];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:Prospects] autorelease];
}

// setting the text
cell.text = [infoDictionary objectForKey:@"agencyname"];    
self.navigationItem.title = @"Prospects";

// Set up the cell
return cell;

}

1 个答案:

答案 0 :(得分:1)

不要在viewDidLoad中释放jsonurl,因为之前没有保留它。只有类似init的方法才能保留实例,而不是静态构造函数。