BlackRaccoonを移植して大幅に変更しました。デリゲートを使用するように設計されています。つまり、代理人が必要です。
BRRequestCreateDirectory *createEventDir = [BRRequestCreateDirectory initWithDelegate:nil];
//NSString *EventCode = [[NSUserDefaults standardUserDefaults] stringForKey:kEventCodeKey];
createEventDir.path = @"/12341234";
createEventDir.hostname = @"media.example.com/httpdocs/events/";
createEventDir.username = @"badboy";
createEventDir.password = @"hai!";
createEventDir.tag = 103;
[createEventDir start];
createEventDir = nil;
間違っている。それは多くのことを開始し、次にオブジェクトを削除します-アクションは未定義です。
代わりに、私が提供したコードに示されているようなものが必要です(それはリークしません)。
まず、ftpを使用するクラスには、デリゲートプロトコルを示すBRRequestDelegateが必要です。
- (IBAction) createDirectory:(id)sender
{
//----- createEventDir must be a variable in your class...
createEventDir = [BRRequestCreateDirectory initWithDelegate: self];
createEventDir.path = @"/12341234;
createEventDir.hostname = @"media.example.com/httpdocs/events/";
createEventDir.username = @"badboy";
createEventDir.password = @"hai!";
[createEventDir start];
//----- createEventDir MUST NOT BE DELETED OR SET TO NIL HERE
}
次に、(少なくとも)2人の代理人が必要です。
-(void) requestCompleted: (BRRequest *) request
{
//----- handle Create Directory
if (request == createEventDir)
{
NSLog(@"%@ completed!", request);
//----- everything is done, NOW you can set it to nil
createEventDir = nil;
}
}
-(void) requestFailed: (BRRequest *) request
{
if (request == createEventDir)
{
NSLog(@"%@", request.error.message);
//----- everything is done, NOW you can set it to nil
createEventDir = nil;
}
}
戻って私のテストコードを見ると、物事がどのように機能するかがわかります。それでも問題が解決しない場合は、http: //github.com/lloydsargent/BlackRaccoonに問題を投稿してください
うまくいけば、これはあなたがあなたの問題を乗り越えるでしょう。