私はiPhone用の小さな静的ライブラリ(lib.a)を作成しており、ASIHTTPRequestを使用してデータの投稿などを管理しています。
メインの実装(@implementation BlaBla)がありますが、メインの.mファイルには、プライベートメソッド用の別の(@interface Foo)と(@implementation Foo)があります。
(@interface Foo)にASIHTTPRequestDelegateを実装しましたが、-(void)requestFinished:(ASIHTTPRequest *)requestを実装しましたが、このメソッドは実行されません!
私が何をしたとしても、それは機能しません。requestFinishedメソッドをログに記録するためにNSLogを追加しましたが、機能していません。
コード例:
@interface ActionsManager : NSObject <ASIHTTPRequestDelegate>
+ (void)blabla;
@end
@implementation ActionsManager
+ (void)blabla{
NSURL *requestUrl = [NSURL URLWithString:[NSString stringWithFormat:@"Bla.com/bla"]];
BlaRequest = [[[ASIFormDataRequest alloc] initWithURL:requestUrl]autorelease];
self = [BlaRequest delegate];
[BlaRequest setPostValue:blabla forKey:@"bla"];
[BlaRequest setRequestMethod:@"POST"];
[BlaRequest startAsynchronous];
}
- (void)requestFinished:(ASIHTTPRequest *)request{
NSLog(@"request finished");
}
- (void)requestStarted:(ASIHTTPRequest *)request{
NSLog(@"request started");
}
@end
@implementation MainImplementation
- (id)init
{
self = [super init];
if (self) {
}
return self;
}
+ (void)bbb{
[ActionsManager blabla];
}
@end
私はどんな助けにもとても感謝します!
ところで、それはインスタンスメソッド(-)またはクラスメソッド(+)のせいでしょうか?