私はココア プログラミングの初心者ですが、C++ でかなりの作業を行いました。
NSSavePanel クラスに問題があります。(以下に示すように) 使用するたびに、(ブレークポイントを使用して) コードが終了ブラケットを実行しようとしていることがわかります。次に、main.h ファイルで Xcode から BAD_ACCESS メッセージを取得します。私は一生、自分が間違っていることを理解することはできません。コードは次のとおりです。
- (void)scannerDevice:(ICScannerDevice*)scanner didCompleteScanWithError:(NSError*)error;
{
NSLog( @"scannerDevice: \n%@\ndidCompleteScanWithError: \n%@\n", scanner, error );
[mProgressIndicator setHidden:YES];
NSSavePanel *savePopup = [[NSSavePanel alloc]init];
[savePopup runModal];
NSMutableString *saveString = [[NSString alloc] init];
saveString = [[savePopup URL] absoluteString];
[saveString deleteCharactersInRange:NSMakeRange(0, 16)];
[saveString appendString:@".jpeg"];
NSLog(@"[[ADDRESS: %@", saveString); //Outputs /Users/tannerdsilva/Documents/TestFolder/NewName.jpeg
NSError *errorSave = [[NSError alloc] init];
[manager moveItemAtPath:[@"~/Foo.jpeg" stringByExpandingTildeInPath] toPath:[[savePopup URL] absoluteString] error:&errorSave]; // ~/Foo.jpeg does exist
NSLog(@"ERROR: %@", errorSave);
[saveString dealloc];
[savePopup dealloc];
}
新しい宛先をハードコーディングして NSSavePanel を削除すると、クラッシュは発生しません。
事前に感謝します。これが簡単な修正である場合はお詫び申し上げます。