繁体   English   中英

应用程式当机,无法解释

[英]App is crashing, unexplained

我在控制台中收到以下错误:

2010-01-07 18:15:19.036 FlagLearner[13310:207] *** -[NSCFString objectForKey:]: unrecognized selector sent to instance 0x3814530
2010-01-07 18:15:19.039 FlagLearner[13310:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString objectForKey:]: unrecognized selector sent to instance 0x3814530'
2010-01-07 18:15:19.047 FlagLearner[13310:207] Stack: (

我没有警告,没有构建错误,也没有任何分析器结果。 然而,它崩溃了! 谁能找出原因?

如果您希望我向您发送消息来源以进行查看,请随时通过██████████████@gmail.com给我发送电子邮件。

这是实现文件:

//
//  RootViewController.m
//  Pop,Cap,Flag!
//
//  Created by Samstrix Apps on 6/01/10.
//  Copyright __MyCompanyName__ 2010. All rights reserved.
//

#import "RootViewController.h"
#import "Pop_Cap_Flag_AppDelegate.h"
#import "DetailViewController.h"


@implementation RootViewController



- (void)viewDidLoad {
    [super viewDidLoad];

    NSLog(@"here1");

    //init array
    listOfItems = [[NSMutableArray alloc] init];
    //add items
NSLog(@"here2");
    NSString *filePathA = [[NSBundle mainBundle] pathForResource:@"A" ofType:@"txt"];
    NSString *myTextA= [NSString stringWithContentsOfFile:filePathA                     encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresA = [myTextA componentsSeparatedByString:@"-"];
NSLog(@"here3");

NSString *filePathB = [[NSBundle mainBundle] pathForResource:@"B" ofType:@"txt"];
NSString *myTextB= [NSString stringWithContentsOfFile:filePathB encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresB = [myTextB componentsSeparatedByString:@"-"];

NSString *filePathC = [[NSBundle mainBundle] pathForResource:@"C" ofType:@"txt"];
NSString *myTextC= [NSString stringWithContentsOfFile:filePathC encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresC = [myTextC componentsSeparatedByString:@"-"];

NSString *filePathD = [[NSBundle mainBundle] pathForResource:@"D" ofType:@"txt"];
NSString *myTextD= [NSString stringWithContentsOfFile:filePathD encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresD = [myTextD componentsSeparatedByString:@"-"];

NSString *filePathE = [[NSBundle mainBundle] pathForResource:@"E" ofType:@"txt"];
NSString *myTextE= [NSString stringWithContentsOfFile:filePathE encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresE = [myTextE componentsSeparatedByString:@"-"];

NSString *filePathF = [[NSBundle mainBundle] pathForResource:@"F" ofType:@"txt"];
NSString *myTextF= [NSString stringWithContentsOfFile:filePathF encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresF = [myTextF componentsSeparatedByString:@"-"];

NSString *filePathG = [[NSBundle mainBundle] pathForResource:@"G" ofType:@"txt"];
NSString *myTextG= [NSString stringWithContentsOfFile:filePathG encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresG = [myTextG componentsSeparatedByString:@"-"];

NSString *filePathH = [[NSBundle mainBundle] pathForResource:@"H" ofType:@"txt"];
NSString *myTextH= [NSString stringWithContentsOfFile:filePathH encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresH = [myTextH componentsSeparatedByString:@"-"];

NSString *filePathI = [[NSBundle mainBundle] pathForResource:@"I" ofType:@"txt"];
NSString *myTextI= [NSString stringWithContentsOfFile:filePathI encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresI = [myTextI componentsSeparatedByString:@"-"];

NSString *filePathJ = [[NSBundle mainBundle] pathForResource:@"J" ofType:@"txt"];
NSString *myTextJ= [NSString stringWithContentsOfFile:filePathJ encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresJ = [myTextJ componentsSeparatedByString:@"-"];

NSString *filePathK = [[NSBundle mainBundle] pathForResource:@"K" ofType:@"txt"];
NSString *myTextK= [NSString stringWithContentsOfFile:filePathK encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresK = [myTextK componentsSeparatedByString:@"-"];

NSString *filePathL = [[NSBundle mainBundle] pathForResource:@"L" ofType:@"txt"];
NSString *myTextL= [NSString stringWithContentsOfFile:filePathL encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresL = [myTextL componentsSeparatedByString:@"-"];

NSString *filePathM = [[NSBundle mainBundle] pathForResource:@"M" ofType:@"txt"];
NSString *myTextM= [NSString stringWithContentsOfFile:filePathM encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresM = [myTextM componentsSeparatedByString:@"-"];

NSString *filePathN = [[NSBundle mainBundle] pathForResource:@"N" ofType:@"txt"];
NSString *myTextN = [NSString stringWithContentsOfFile:filePathN encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresN = [myTextN componentsSeparatedByString:@"-"];

NSString *filePathO = [[NSBundle mainBundle] pathForResource:@"O" ofType:@"txt"];
NSString *myTextO= [NSString stringWithContentsOfFile:filePathO encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresO = [myTextO componentsSeparatedByString:@"-"];

NSString *filePathP = [[NSBundle mainBundle] pathForResource:@"P" ofType:@"txt"];
NSString *myTextP= [NSString stringWithContentsOfFile:filePathP encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresP = [myTextP componentsSeparatedByString:@"-"];

NSString *filePathQ = [[NSBundle mainBundle] pathForResource:@"Q" ofType:@"txt"];
NSString *myTextQ= [NSString stringWithContentsOfFile:filePathQ encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresQ = [myTextQ componentsSeparatedByString:@"-"];

NSString *filePathR = [[NSBundle mainBundle] pathForResource:@"R" ofType:@"txt"];
NSString *myTextR= [NSString stringWithContentsOfFile:filePathR encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresR = [myTextR componentsSeparatedByString:@"-"];

NSString *filePathS = [[NSBundle mainBundle] pathForResource:@"S" ofType:@"txt"];
NSString *myTextS= [NSString stringWithContentsOfFile:filePathS encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresS = [myTextS componentsSeparatedByString:@"-"];

NSString *filePathT = [[NSBundle mainBundle] pathForResource:@"T" ofType:@"txt"];
NSString *myTextT= [NSString stringWithContentsOfFile:filePathT encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresT = [myTextT componentsSeparatedByString:@"-"];

NSString *filePathU = [[NSBundle mainBundle] pathForResource:@"U" ofType:@"txt"];
NSString *myTextU= [NSString stringWithContentsOfFile:filePathU encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresU = [myTextU componentsSeparatedByString:@"-"];

NSString *filePathV = [[NSBundle mainBundle] pathForResource:@"V" ofType:@"txt"];
NSString *myTextV= [NSString stringWithContentsOfFile:filePathV encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresV = [myTextV componentsSeparatedByString:@"-"];

NSString *filePathW = [[NSBundle mainBundle] pathForResource:@"W" ofType:@"txt"];
NSString *myTextW= [NSString stringWithContentsOfFile:filePathW encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresW = [myTextW componentsSeparatedByString:@"-"];
//none with "X"
//NSString *filePathX = [[NSBundle mainBundle] pathForResource:@"X" ofType:@"txt"];
//NSString *myTextX= [NSString stringWithContentsOfFile:filePathX encoding:NSUTF8StringEncoding error:nil];
//NSArray *arrayStructuresX = [myTextX componentsSeparatedByString:@"-"];

NSString *filePathY = [[NSBundle mainBundle] pathForResource:@"Y" ofType:@"txt"];
NSString *myTextY= [NSString stringWithContentsOfFile:filePathY encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresY = [myTextY componentsSeparatedByString:@"-"];

NSString *filePathZ = [[NSBundle mainBundle] pathForResource:@"Z" ofType:@"txt"];
NSString *myTextZ= [NSString stringWithContentsOfFile:filePathZ encoding:NSUTF8StringEncoding error:nil];
NSArray *arrayStructuresZ = [myTextZ componentsSeparatedByString:@"-"];

NSLog(@"here4");

NSLog(@"here5");








[listOfItems addObjectsFromArray:arrayStructuresA];
[listOfItems addObjectsFromArray:arrayStructuresB];
[listOfItems addObjectsFromArray:arrayStructuresC];
[listOfItems addObjectsFromArray:arrayStructuresD];
[listOfItems addObjectsFromArray:arrayStructuresE];
[listOfItems addObjectsFromArray:arrayStructuresF];
[listOfItems addObjectsFromArray:arrayStructuresG];
[listOfItems addObjectsFromArray:arrayStructuresH];
[listOfItems addObjectsFromArray:arrayStructuresI];
[listOfItems addObjectsFromArray:arrayStructuresJ];
[listOfItems addObjectsFromArray:arrayStructuresK];
[listOfItems addObjectsFromArray:arrayStructuresL];
[listOfItems addObjectsFromArray:arrayStructuresM];
[listOfItems addObjectsFromArray:arrayStructuresN];
[listOfItems addObjectsFromArray:arrayStructuresO];
[listOfItems addObjectsFromArray:arrayStructuresP];
[listOfItems addObjectsFromArray:arrayStructuresQ];
[listOfItems addObjectsFromArray:arrayStructuresR];
[listOfItems addObjectsFromArray:arrayStructuresS];
[listOfItems addObjectsFromArray:arrayStructuresT];                                                     
[listOfItems addObjectsFromArray:arrayStructuresU]; 
[listOfItems addObjectsFromArray:arrayStructuresV];
[listOfItems addObjectsFromArray:arrayStructuresW]; 
//  [listOfItems addObjectsFromArray:arrayStructuresX]; 
[listOfItems addObjectsFromArray:arrayStructuresY]; 
[listOfItems addObjectsFromArray:arrayStructuresZ]; 



//set the titles
self.navigationItem.title = @"Countries";   
NSLog(@"here6");

//[StartWithA addObjectFromArray:arrayStructuresA];
NSLog(@"here6.5");





NSDictionary *StartWithADict = [NSDictionary dictionaryWithObject:arrayStructuresA forKey:@"Countries"];

NSLog(@"here7");
//NSDictionary *countriesToLiveInDict = [NSDictionary dictionaryWithObject:countriesToLiveInArray forKey:@"Countries"];

//[StartWithB addObjectsFromArray:arrayStructuresB];
NSDictionary *StartWithBDict = [NSDictionary dictionaryWithObject:arrayStructuresB forKey:@"Countries"];

//[StartWithC addObjectsFromArray:arrayStructuresC];
NSDictionary *StartWithCDict = [NSDictionary dictionaryWithObject:arrayStructuresC forKey:@"Countries"];

//  [StartWithD addObjectsFromArray:arrayStructuresD];
NSDictionary *StartWithDDict = [NSDictionary dictionaryWithObject:arrayStructuresD forKey:@"Countries"];

//  [StartWithE addObjectsFromArray:arrayStructuresE];
NSDictionary *StartWithEDict = [NSDictionary dictionaryWithObject:arrayStructuresE forKey:@"Countries"];

//[StartWithF addObjectsFromArray:arrayStructuresF];
NSDictionary *StartWithFDict = [NSDictionary dictionaryWithObject:arrayStructuresF forKey:@"Countries"];

//  [StartWithG addObjectsFromArray:arrayStructuresG];
NSDictionary *StartWithGDict = [NSDictionary dictionaryWithObject:arrayStructuresG forKey:@"Countries"];

//  [StartWithH addObjectsFromArray:arrayStructuresH];
NSDictionary *StartWithHDict = [NSDictionary dictionaryWithObject:arrayStructuresH forKey:@"Countries"];

//  [StartWithI addObjectsFromArray:arrayStructuresI];
NSDictionary *StartWithIDict = [NSDictionary dictionaryWithObject:arrayStructuresI forKey:@"Countries"];

//  [StartWithJ addObjectsFromArray:arrayStructuresJ];
NSDictionary *StartWithJDict = [NSDictionary dictionaryWithObject:arrayStructuresJ forKey:@"Countries"];

//  [StartWithK addObjectsFromArray:arrayStructuresK];
NSDictionary *StartWithKDict = [NSDictionary dictionaryWithObject:arrayStructuresK forKey:@"Countries"];

//[StartWithL addObjectsFromArray:arrayStructuresL];
NSDictionary *StartWithLDict = [NSDictionary dictionaryWithObject:arrayStructuresL forKey:@"Countries"];

//  [StartWithM addObjectsFromArray:arrayStructuresM];
NSDictionary *StartWithMDict = [NSDictionary dictionaryWithObject:arrayStructuresM forKey:@"Countries"];


//[StartWithN addObjectsFromArray:arrayStructuresN];
NSDictionary *StartWithNDict = [NSDictionary dictionaryWithObject:arrayStructuresN forKey:@"Countries"];

//  [StartWithO addObjectsFromArray:arrayStructuresO];
NSDictionary *StartWithODict = [NSDictionary dictionaryWithObject:arrayStructuresO forKey:@"Countries"];

//  [StartWithP addObjectsFromArray:arrayStructuresP];
NSDictionary *StartWithPDict = [NSDictionary dictionaryWithObject:arrayStructuresP forKey:@"Countries"];


//  [StartWithQ addObjectsFromArray:arrayStructuresQ];
NSDictionary *StartWithQDict = [NSDictionary dictionaryWithObject:arrayStructuresQ forKey:@"Countries"];

//[StartWithR addObjectsFromArray:arrayStructuresR];
NSDictionary *StartWithRDict = [NSDictionary dictionaryWithObject:arrayStructuresR forKey:@"Countries"];

//  [StartWithS addObjectsFromArray:arrayStructuresS];
NSDictionary *StartWithSDict = [NSDictionary dictionaryWithObject:arrayStructuresS forKey:@"Countries"];

/// [StartWithT addObjectsFromArray:arrayStructuresT];
NSDictionary *StartWithTDict = [NSDictionary dictionaryWithObject:arrayStructuresT forKey:@"Countries"];

//  [StartWithU addObjectsFromArray:arrayStructuresU];
NSDictionary *StartWithUDict = [NSDictionary dictionaryWithObject:arrayStructuresU forKey:@"Countries"];

//  [StartWithV addObjectsFromArray:arrayStructuresV];
NSDictionary *StartWithVDict = [NSDictionary dictionaryWithObject:arrayStructuresV forKey:@"Countries"];

//  [StartWithW addObjectsFromArray:arrayStructuresW];
NSDictionary *StartWithWDict = [NSDictionary dictionaryWithObject:arrayStructuresW forKey:@"Countries"];

//NSMutableArray *StartWithX;
//[StartWithX addObjectsFromArray:arrayStructuresX];
//NSDictionary *StartWithXDict = [NSDictionary dictionaryWithObject:arrayStructuresX forKey:@"Countries"];

//  [StartWithY addObjectsFromArray:arrayStructuresY];
NSDictionary *StartWithYDict = [NSDictionary dictionaryWithObject:arrayStructuresY forKey:@"Countries"];

//  [StartWithZ addObjectsFromArray:arrayStructuresZ];
NSDictionary *StartWithZDict = [NSDictionary dictionaryWithObject:arrayStructuresZ forKey:@"Countries"];
NSLog(@"Here8");

[listOfItems addObject:StartWithADict];
[listOfItems addObject:StartWithBDict];
[listOfItems addObject:StartWithCDict];
[listOfItems addObject:StartWithDDict];
[listOfItems addObject:StartWithEDict];
[listOfItems addObject:StartWithFDict];
[listOfItems addObject:StartWithGDict];
[listOfItems addObject:StartWithHDict];
[listOfItems addObject:StartWithIDict];
[listOfItems addObject:StartWithJDict];
[listOfItems addObject:StartWithKDict];
[listOfItems addObject:StartWithLDict];
[listOfItems addObject:StartWithMDict];
[listOfItems addObject:StartWithNDict];
[listOfItems addObject:StartWithODict];
[listOfItems addObject:StartWithPDict];
[listOfItems addObject:StartWithQDict];
[listOfItems addObject:StartWithRDict];
[listOfItems addObject:StartWithSDict];
[listOfItems addObject:StartWithTDict];
[listOfItems addObject:StartWithUDict];
[listOfItems addObject:StartWithVDict];
[listOfItems addObject:StartWithWDict];
//[listOfItems addObject:StartWithXDict];
[listOfItems addObject:StartWithYDict];
[listOfItems addObject:StartWithZDict];
NSLog(@"Here9");

// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}   

- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
}



#pragma mark Table view methods

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    NSLog(@"Here10");
    NSLog(@"%d", [listOfItems count]);
    return [listOfItems count];


}

//this sets the number of row in the table view, by couting the number of objects (countries) in the array//
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    NSLog(@"Here12");


    //Number of rows it should expect should be based on the section
    NSDictionary *dictionary = [listOfItems objectAtIndex:section];
    NSArray *array = [dictionary objectForKey:@"Countries"];
    NSLog(@"this is the array count - %d", [array count]);
    return [array count];
    NSLog(@"Here13");

}// Customize the number of rows in the table view.


// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    NSLog(@"Here14");

    static NSString *CellIdentifier = @"Cell";

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

    // Configure the cell.
    NSDictionary *dictionary = [listOfItems objectAtIndex:indexPath.section];
    NSArray *array = [dictionary objectForKey:@"Countries"];
    NSString *cellValue = [array objectAtIndex:indexPath.row];
    [cell.textLabel setText:cellValue];


    //NSString *cellValue = [listOfItems objectAtIndex:indexPath.row];
    //[cell.textLabel setText:cellValue];
    //[cell.textLabel setText:cellValue];
    NSLog(@"Here15");


    return cell;

    //NSLog(cellValue);
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section     {
NSLog(@"Here16");
if (section == 0) {
    return @"A";
}

if (section == 1) {
    return @"B";
}
if (section == 2) {
    return @"C";
}
if (section == 3) {
    return @"D";
}
if (section == 4) {
    return @"E";
}
if (section == 5) {
    return @"F";
}
if (section == 6) {
    return @"G";
}
if (section == 7) {
    return @"H";
}
if (section == 8) {
    return @"I";
}
if (section == 9) {
    return @"J";
}
if (section == 10) {
    return @"K";
}
if (section == 11) {
    return @"L";
}
if (section == 12) {
    return @"M";
}
if (section == 13) {
    return @"N";
}
if (section == 14) {
    return @"O";
}
if (section == 15) {
    return @"P";
}
if (section == 16) {
    return @"Q";
}

if (section == 17) {
    return @"R";
}
if (section == 18) {
    return @"S";
}
if (section == 19) {
    return @"T";
}
if (section == 20) {
    return @"U";
}
if (section == 21) {
    return @"V";
}

if (section == 22) {
    return @"W";
}
//if (section==0) {
    //return @"X";
//}
if (section == 23) {
    return @"Y";
}
if (section == 24) {
    return @"Z";
}

return @"";

//NSLog(@"%d", [listOfItems count]);



NSLog(@"That whole error thing");
}


- (UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath{
NSLog(@"Here17");

return UITableViewCellAccessoryDisclosureIndicator;
}

// Override to support row selection in the table view.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSLog(@"Here18");

    //Get the selected country

    NSDictionary *dictionary = [listOfItems objectAtIndex:indexPath.section];
    NSArray *array = [dictionary objectForKey:@"Countries"];
    NSString *selectedCountry = [array objectAtIndex:indexPath.row];

    //Initialize the detail view controller and display it.
    DetailViewController *dvController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:[NSBundle mainBundle]];
    dvController.selectedCountry = selectedCountry;
    [self.navigationController pushViewController:dvController animated:YES];
    [dvController release];
    dvController = nil;
    /*
    NSString *selectedCountry = [listOfItems objectAtIndex:indexPath.row];
    //init the detail view controller and display it. 
    DetailViewController *dvController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:[NSBundle mainBundle]];
    dvController.selectedCountry = selectedCountry;
    [self.navigationController pushViewController:dvController animated:YES];
    [dvController release];
    dvController = nil;
    */

    // Navigation logic may go here -- for example, create and push another view controller.
    // AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherView" bundle:nil];
    // [self.navigationController pushViewController:anotherViewController animated:YES];
    // [anotherViewController release];
    NSLog(@"Here19");

}

- (void)dealloc {
    //dealloc the array
    [listOfItems release];
    NSLog(@"Here20");

    [super dealloc];
}


@end

该错误消息有点神秘,但是它基本上表明您尝试将消息“ objectForKey:”发送到类“ NSString”的对象,并且该方法在NSString类中不存在。 听起来您正在以编程方式抓取一个对象,并希望该对象成为NSDictionary。 在运行时,实际上将您的NSDictionary *设置为NSString *,并且在该对象未被正确使用之前,您不会得到任何异常。

熟悉Objective-C后,您可以说“给我这个未知类型的对象,假定它是一个字典,然后调用此函数”,这一事实实际上很酷,但是要习惯它是很困难的。 我一直发现,Objective-C假定您知道自己在做什么。 有些人喜欢它,因为它使他们可以编写简洁明了的代码-但它会大大提高学习难度。

如果您需要更多帮助来跟踪此代码段,请随时发布代码段!

更新:

看起来当您在viewDidLoad:中设置数据时,您正在从单独的文件加载一堆数组。 然后将这些数组的内容添加到主数据数组中,如下所示:

[listOfItems addObjectsFromArray:arrayStructuresF];

我认为这些行不应该在那里。 再往下,你要创建的每个字母的字典,然后加入那些到LISTOFITEMS。 在函数末尾,listOfItems包含一堆字符串项目和一堆字典。 字符串项排在第一位,因此当您期望使用NSDictionaries时会得到NSStrings。

PS:您可能希望将其中的一些压缩成循环。 您可以创建一个由字母A,B,C,D等组成的数组,然后使用使用NSString的stringWithFormat:创建的文件名循环加载所有文件。 只是一个想法!

0x3814530处的对象是NSString,但是您将其视为NSDictionary,但是会遇到运行时异常。

本文介绍了打破异常。 使用调试器检查与您的异常相邻的代码。

尝试打开NSZombiesEnabled。

  1. 在项目的“可执行文件”组中双击您的可执行文件。
  2. 单击参数选项卡。
  3. 在“要在环境中设置的变量:”部分中,创建一个名为NSZombieEnabled的新变量,并将其设置为YES。

我敢打赌,您会发现您正在向已释放的对象发送一条消息,以至于该消息已被释放。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM