2010-01-07 182 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

相關問題