2010-01-07 181 views
2

我在控制台收到这些错误:应用程序崩溃,原因不明

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 
+2

我不明白你希望任何人在没有显示代码的情况下帮助你。没有人想给你发电子邮件,以便他们能够找到他们需要的信息来帮你。 – avpx 2010-01-07 05:41:41

回答

1

该错误信息有点神秘,但基本上说你试图将消息“objectForKey:”发送给类“NSString”的对象,并且该方法在NSString类中不存在。这听起来像你正在编程抓取一个对象,并期望该对象是一个NSDictionary。在运行时,你的NSDictionary *实际上被设置为一个NSString *,并且在该对象实际使用不正确之前你不会得到异常。

一旦你熟悉Objective-C,你可以说“给我这个未知类型的对象,假设它是一本字典,并调用这个函数”,这个事实上是非常酷的事实,但它已经习以为常了。我一直发现Objective-C会假设你知道你在做什么。有些人喜欢它,因为它可以让他们编写干净简洁的代码 - 但它提高了学习曲线。

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

UPDATE:

看起来,当你设置你的viewDidLoad中的数据:,你是加载大量来自不同的文件阵列等。然后你这些阵列的内容添加到您的主数据数组是这样的:

[listOfItems addObjectsFromArray:arrayStructuresF]; 

我认为那些行不应该存在。再往下,你要为每个字母创建字典,然后将那些添加到listOfItems中。在函数的最后,listOfItems包含了一大堆字符串和一大堆字典。字符串项首先出现,所以当你期望NSDictionaries时你会得到NSString。

P.S.一旦全部工作完成,您可能需要将其中一部分压缩到循环中。你可以创建一个字母A,B,C,D等等的数组,然后使用NSString的stringWithFormat:来创建文件名,然后加载循环中的所有文件。只是一个想法!

+0

我即将推出整个.m文件..在哪里肯定有什么地方是错误的。感谢Ben的回应。 – 2010-01-07 05:49:12

+0

RE:更新我想要的东西,是一个数组,里面有字典。而那些字典则以该字母开头的一系列事物。所以对于'A'来说,它是一个包含所有@“A - ”的数组,然后是一个存储它的字典。因为它是我的理解,你不能把对象放入NSDict实例..只有数组? 你能告诉我一个例子吗? 当我开始时,我大致遵循这个http://www.iphonesdkarticles.com/2009/01/uitableview-sectioned-table-view.html。 – 2010-01-07 06:43:00

+0

天哪废话。 好男人本!我刚刚删除了 [listOfItems addObjectsFromArray:arrayStructuresF]; 和..现在它启动完美,完美的作品。 – 2010-01-07 08:30:52

0

0x3814530的对象是一个的NSString,但你把它作为一个NSDictionary中,你会得到一个运行时异常。

This article描述了打破例外。 使用调试器检查与您的例外相邻的代码。

+0

你能详细说明怎么做吗?谢谢..即时通讯新游戏。 – 2010-01-07 08:23:56

0

试着打开NSZombiesEnabled。

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

我打赌你会发现你发送的消息已经发布到已被释放的点,它已被释放。

+0

我该怎么做? – 2010-01-07 06:34:11

+0

当我有更多时间时,我的意思是扩大这个答案,但是我忘了或者我从未有过任何时间!现在完成,谢谢。 :) – 2010-01-07 18:15:44

相关问题