動作しないという問題がStringWithFormatあります。デバッガーは、返された文字列がNSString(nullではない)と言っているため、想定された文字列を使用した呼び出しはNSStringメソッドセレクターと一致せず、アプリがクラッシュします。
XCode 4.5 iOS 6設定でテストしています(古いプロジェクト、サブプロジェクトなし)。
NSStringこのコードは、 :ではないものを返します。
[NSString stringWithFormat:@"\nTest to %@ (%@)\n", target, ipString]
フォーマット文字列の最初の文字としてスペースを挿入すると、結果はにNSStringなります。つまり、次のように機能します。
[NSString stringWithFormat:@"\nTest to %@ (%@)\n", target, ipString]
このコードブロックも機能しません。ではないものを返しますNSString。私はここで何が間違っているのですか?
int TTL = 1;
NSString *ttl = [NSString stringWithFormat:@" \n# %d", TTL] ;
TTL++;
[self textToParent: ttl]; // Program crashes here. Debugger show ttl not NSString.
TTL--;
エラーメッセージはttl = (__NSCFString *) 0xwhatever @<variable is not NSString>