2014-06-26 57 views
-2

您好我有下面的代碼崩潰的應用程序:不能夠解決一個空的CString崩潰

cell.textLabel.text = [NSString stringWithCString:[[[self.arrayForTableSelLang objectAtIndex:indexPath.row] objectForKey:kSupport_question_title] cStringUsingEncoding:NSISOLatin1StringEncoding] encoding:NSUTF8StringEncoding]; 

的錯誤是:

* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* +[NSString stringWithCString:encoding:]: NULL cString

的NSLog給我:

Wie lange dauert es, bis meine Guthaben-Ãœberweisung auf meiner Karte gebucht ist?

我該如何解決這個問題?

在此先感謝。

+0

http://stackoverflow.com/questions/7895152/memory-management- nsstrings-stringwithcstringencoding http://stackoverflow.com/questions/509728/how-do-you-convert-cstring-to-nsstring – Alfa

+1

正如我所看到的,消息非常清晰。嘗試將這行代碼分成幾行,這樣你就可以看到原因。祝你好運。 –

+0

@ArtemStepanenko你能告訴我如何分割代碼嗎?或者我的代碼有什麼問題? – user1954352

回答

0

我的意思是這樣的:

NSDictionary *langDict = self.arrayForTableSelLang[indexPath.row]; 
NSString *string = langDict[kSupport_question_title]; 
char *cString = [string cStringUsingEncoding:NSISOLatin1StringEncoding]; 
cell.textLabel.text = [NSString stringWithCString:cString encoding:NSUTF8StringEncoding]; 

UPDATE

更新的代碼是這樣的:

NSDictionary *langDict = self.arrayForTableSelLang[indexPath.row]; 
cell.textLabel.text = langDict[kSupport_question_title]; 
+0

執行上面的代碼後,我得到了相同的結果。 – user1954352

+0

沒錯。但是現在您可以調試代碼並查看返回的nil行。 –

+0

我做了這個任務,在我的問題中,我還提到,當我得到「Wie lange dauert es,bis meine Guthaben-Überweisungauf meiner Karte gebucht ist?」它返回nil。 – user1954352

相關問題