我想用 - (空)requestFailed:(ASIHTTPRequest*)的要求,以提醒用户有错误与网络(它无法连接到网络),我怎么可以recuper错误和实现这个方法,
谢谢
我发现我的代码有什么问题我遇到了一些麻烦,因为我试图从不同的网址下载几个图像,并且请求总是失败.
你们能给我一点帮助吗?
这是我的代码:
//
// Chapters.h
//
//
// Created by Nuno Martins on 11/07/18.
// Copyright 2011 WeTouch. All rights reserved.
//
#import <Foundation/Foundation.h>
//#import <GHUnit/GHUnit.h>
@class ASINetworkQueue;
@interface Chapters : NSObject {
NSString * chaptersBaseUrl;
NSMutableArray * chaptersList;
ASINetworkQueue *networkQueue;
}
@property (retain) ASINetworkQueue *networkQueue;
@property (nonatomic, retain) NSString *chaptersBaseUrl;
@property (nonatomic, retain) NSMutableArray *chaptersList;
-(void)downloadChaptersIconsFromUrlArrayToFile:(NSMutableArray *)iconUrls;
@end
//
// Chapters.m
//
//
// Created by Nuno Martins on 11/07/18.
// Copyright 2011 WeTouch. All rights reserved.
// …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我有一个场景,多个Web服务同时被克隆.如果特定的ASIFormDataRequest仍在进行中,我想知道最好的方法.
是否可以保留子类的委托ASIHTTPRequest?
我做了一个ASIHTTPRequest被调用的子类JSONRequest.每个实例JSONRequest都是它自己的委托,处理回调,并将它们传递给它jsonDelegate,它是一个私有属性JSONRequest,并响应requestFinished:withResult:,其中result是NSDictionaryJSON响应的表示.要做到这一点,我重载setDelegate:在JSONRequest做super.delegate = self; self.jsonDelegate = newDelegate.
jsonDelegate在这种情况下保留是否可以,因为通常jsonDelegate是一个视图控制器,如果用户点击"返回"等,有时会在加载请求时解除分配.我将jsonDelegate在JSONRequest调用回调方法后释放.
我怎么知道这没关系,也不会导致保留循环.
我正在尝试使用ASIHTTPRequest库中的ASIDownloadCache.我想我几乎已经设置了但是我打印到日志的数据是一堆数字..我认为这可能是一个格式化问题..但我想先把它带到一个有更多经验的人那里来确保我正确地做了,然后希望帮助我解决问题.
下面的代码向您展示了我如何设置我的缓存,我将这个视图用于多个数据集,因此需要使用if语句,以便我只在特定数据上设置缓存.
- (IBAction)setRequestString:(NSString *)string
{
//Set database address
NSMutableString *databaseURL = [[NSMutableString alloc] initWithString:@"http://***.***.***.***:8888/codeData/"]; // iphone development
//PHP file name is being set from the parent view
[databaseURL appendString:string];
//call ASIHTTP delegates (Used to connect to database)
NSURL *url = [NSURL URLWithString:databaseURL];
checkDataSet = [[NSString alloc] initWithFormat:string]; //Loads ICMfg.xml into checkDataSet for setting up cache
//Create If statments here
if ([checkDataSet isEqualToString:@"ICMfg.xml"]) {
//Cache stuff goes in here
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDownloadCache:[ASIDownloadCache sharedCache]];
[request setCacheStoragePolicy:ASICachePermanentlyCacheStoragePolicy];
[request …Run Code Online (Sandbox Code Playgroud) 我正在使用ASIHttpRequest.我需要知道这个错误信息的含义是什么?我怎么能解决它
请求错误<ASIHTTPRequest:0xbedc00> - 错误域= ASIHTTPRequestErrorDomain代码= 1"发生连接失败"UserInfo = 0x270230 {NSUnderlyingError = 0x250cf0"操作无法完成.(kCFErrorDomainCFNetwork错误2.)",NSLocalizedDescription = A连接发生故障}
还有更多错误消息; 以上是Error Domain=ASIHTTPRequestErrorDomain Code=1其他的Code=2,Code=3......最高Code=10.我需要这些也是什么?
编辑:
错误显示在if condition
SBJsonParser *p = [SBJsonParser new];
NSDictionary *content = [pobjectWithString:[request responseString]];
if(!content){
NSLog(@" %@", p.errorTrace);
return;
}
Run Code Online (Sandbox Code Playgroud) 我一直在寻找这个问题一段时间了.我正在尝试使用ASIHTTPRequest更新xml节点的值.此代码应该发送请求,但它总是返回我:
Error Domain=ASIHTTPRequestErrorDomain Code=5 "Unable to create request (bad url?)"
Run Code Online (Sandbox Code Playgroud)
所以我试图像我网站上的许多答案一样对我的网址进行编码,其他人提出并且到目前为止没有任何工作......我试过这个:
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding
Run Code Online (Sandbox Code Playgroud)
以及这一个:
CFURLCreateStringByAddingPercentEscapes
Run Code Online (Sandbox Code Playgroud)
我也试过这个:
NSString *urlString = @"http://192.168.123.143:50003/Courbe.xml";
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL urlWithString:urlString]];
Run Code Online (Sandbox Code Playgroud)
我总是得到同样的错误.这是我正在尝试运行的代码:
NSString *url = @"http://192.168.123.143:50003/Courbe.xml";
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setRequestMethod:@"POST"];
[request addPostValue:@"111" forKey:@"tempset"];
[request setDelegate:self];
[request startSynchronous];
Run Code Online (Sandbox Code Playgroud)
这些是我的委托方法:
- (void)requestFinished:(ASIHTTPRequest *)request
- (void)requestFailed:(ASIHTTPRequest *)request
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗?
我用登录功能制作了IOS应用程序.我使用ASIHTTPRequest来检查用户是否存在于MySQL数据库中.一切正常,但我想通过其他viewcontrollers传递userid或在应用程序的其他部分检索它.
有人能以正确的方向推动我如何以最好和最安全的方式做到这一点吗?
这是我对PHP脚本执行POST HTTP请求的方式:
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"*SOME_URL*"]];
Run Code Online (Sandbox Code Playgroud)
在回调中,我可以检索用户ID,但我想将此ID存储在应用程序的内存中以供进一步使用.
谢谢.
我正在调用一个包含tableview的视图,并且在我将datsource链接到文件的所有者并生成以下SIGABRT错误之前正确显示.我不明白发生了什么,因为我在其他视图和工作中设置了tableview!问题与此线程相同,因为我也在使用ASIHttprequest:
2011-10-13 00:53:36.633 Nimbo[1713:207] -[testViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x5c6fa30
2011-10-13 00:53:36.639 Nimbo[1713:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[testViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x5c6fa30'
*** Call stack at first throw:
Run Code Online (Sandbox Code Playgroud) ios ×6
iphone ×5
objective-c ×5
xcode ×2
assign ×1
delegates ×1
retain ×1
uitableview ×1
xcode4.2 ×1
xml ×1