- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
@try {
if ([segue.identifier isEqualToString:@"taskListSegue"])
{
MindMapInformationViewController_iPhone *taskListContentController = [segue destinationViewController];
int selectedIndexPath = [[self.tableView indexPathForSelectedRow] row];
MindMap *newMindMap;
newMindMap = [mindmaps objectAtIndex:selectedIndexPath];
FileManager *fileManager = [[[FileManager alloc] init] autorelease];
[fileManager readFile:newMindMap.pathToMindmapAtDevice parsing:YES];
NSMutableArray *taskArray = [fileManager getArray];
[taskListContentController setTasksOfSelectedMindmap:taskArray];
}
}
@catch (NSException *exception) {
}
}
-(void)setTasksOfSelectedMindmap:(NSMutableArray *)tasks {
@try {
[self initComponents];
if (tasks != nil) {
taskArray = tasks;
}
}
@catch (NSException *exception) {
}
}
-(void)initComponents {
@try {
taskArray = [[NSMutableArray alloc] init];
taskName = [[NSMutableArray alloc] init];
taskOwner = [[NSMutableArray alloc] init];
}
@catch (NSException *exception) {
}
}
-(void)viewDidLoad
{
@try {
[super viewDidLoad];
int i = 0;
for (MindMapTask *newTask in taskArray) {
if (newTask.taskOwner == nil) {
newTask.taskOwner = @"Keine Angabe";
}
[taskName addObject:newTask.taskTitle];
[taskOwner addObject:newTask.taskOwner];
i++;
}
}
@catch (NSException *exception) {
NSLog(@"Exception - %@", exception);
}
}
なぜ私はEXC_BAD_ACCESS
を取得していますか?この例外のプロデューサーはそうです[super viewDidLoad]; ...
viewDidLoadのEXC_BAD_ACCESS
誰か助けてくれますか? :)
編集:ビットは、私は自分のメソッドに配列のdefinitonを移動していること、見ることができるのは理解
を願っています。..コードを変更しました。また、taskTitleが(他のクラスの)nilでないことを確認するメソッドを追加しました。
アナライザーを実行すると、かなりのメモリリークの問題が発生します。それらを最初に修正して、もう一度試してください。 –
私はアナライザを実行しましたが、メモリリークはありません;) –
例外がどこにあるかを確認するには、[super viewDidLoad]を入れてみてください。残りのコードは別々のtry/catchブロックに入れます。問題が親コードにある場合、このコードを見ているだけでは助けにならないとき。このコードに問題がある場合は、taskArrayとnewTask.taskTitleがnilでないことを確認してください。 – sch