我試圖使用@字符作爲NSDictionary中的鍵,我的應用程序只是崩潰。我搜索了「無效」鍵名,無法在任何地方找到@「@」。如果我使用@「@」以外的東西,它一切正常。@字符作爲NSDictionary中的鍵
我有一個公約的列表,我得到每個公司的第一個字母,然後我創建一個NSMutableDictionary條目,其中包含第一個字母作爲鍵和一個NSMutableArray作爲值。
NSMutableDictionary indexDictionary = [[NSMutableDictionary alloc] init];
// here we have a loop on companyName
{
NSString *fristLetter = [[companyName substringToIndex:1] uppercaseString];
NSMutableArray *arrayOfIndexedCompanies = [indexDictionary valueForKey:firstLetter];
if (arrayOfIndexedCompanies) {
[arrayOfIndexedCompanies addObject:companyName]
}
else {
NSMutableArray *newArray = [NSMutableArray array];
[indexDictionary setObject:newArray forKey:firstLetter];
[newArray addObject:companyName];
}
}
我啓用了扔斷點休息,它停靠在[indexDictionary valueForKey:firstLetter] ...只有當firstLetter是@ 「@」。 我如果說有一個:
if ([firstLetter isEqualToString:@"@"]) {
firstLetter = @"A";
}
並能正常工作,它正確地放置@首發公司的A部分。如果我讓第一個信件保持不變(將其保留爲@「@」),則應用程序將崩潰。
此外,這不是我的代碼,我只是想解決它,我不是很熟悉ObjC和Foundation,所以請溫和。
有什麼問題嗎? – Jasper 2012-04-23 13:04:18
我試圖找出是否有其他人有同樣的問題,有沒有辦法逃避/解決這個問題,並使用@作爲關鍵? – andrei 2012-04-23 13:08:03
然後把這個問題。 (雖然跳過「其他人經歷過這個」部分,因爲這裏不是真正的問題)另外,你爲什麼想要? – Jasper 2012-04-23 13:10:08