構文解析されたXMLデータを含む「深い」NSMutableDictionaryと、1つのビューコントローラから別のビューコントローラに渡すことができる他の関連情報が組み込まれています。 NSMutableDictionaryは主にNSStringsを含みますが、NSStringsをさらにNSMutableDictionaryに置き換え、最終的にはカスタムオブジェクトのNSMutableArray(カレンダー用)をさらに深く追跡します。NSStringをNSStringに変換すると、EXC_BAD_ACCESSが返されます。
今、カレンダーなので、明らかに日付が関係しています。 NSXMLParserを使用して受け取って解析するXMLデータは文字列を返すので、日にちの日付を使用可能な数値に変換するのは私の仕事でした。 XMLの日付は、次の形式で入って来:「MM.DDは」私がそうするように、次のメソッドを作成しました:
- (void)createDateCodesWithString:(NSString *)string
{
NSInteger monthCode;
NSInteger dayCode;
....
NSArray *dates = [string componentsSeparatedByString:@"."];
monthCode = [[dates objectAtIndex:0] integerValue];
dayCode = [[dates objectAtIndex:1] integerValue];
....
shortDay = [NSNumber numberWithInt:dayCode];
}
「shortDay」のNSNumber *とIVAR、宿泊施設(非アトミックとして設定します私が作成したカスタムオブジェクトを保持します。コンソールでNSLogコマンドを実行すると、「shortDay」などのデータが深いNSMutableDictionaryに正常に格納されているように見えます。しかし、データに再度アクセスしようとすると問題にぶつかります。 NSString *に格納されたivarにアクセスすると問題は解決しますが、NSNumber *にアクセスしようとすると、コード1またはコード2のEXC_BAD_ACCESSエラーが発生します。これはNSNumberを呼び出す方法です。*
NSNumber *number = day.shortDay;
return [number stringValue];
NSArray *の日付は文字列を月と日の文字列に取り除き、その日の文字列は2文字の長さで、 '0'を含むことがあります。 6月6日?何かアドバイス?
必要に応じてより多くのコードを投稿していただきます。
このようなオブジェクトの作成方法については、NSNumberクラスリファレンスを参照してください。整数を代入することはできません。あなたは警告を受けていませんでしたか? –