Tag: 响应

无法使用AFNetworking 3为JSON和XML响应创build单例

嗨,我正在做一个单身人士的networkingJSON和XML响应 我的ApiClient.h + (ApiClient *)sharedInstance; -(instancetype)initWithBaseURL:(NSURL *)url sessionConfiguration:(NSURLSessionConfiguration *)configuration; 我的ApiClient.m + (ApiClient *)sharedInstance { static ApiClient *sharedInstance = nil; static dispatch_once_t oncePredicate; dispatch_once(&oncePredicate, ^{ NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration]; sharedInstance = [[self alloc] initWithBaseURL:[NSURL URLWithString:SINGPOST_BASE_URL] sessionConfiguration:sessionConfiguration]; [sharedInstance setDataTaskWillCacheResponseBlock:^NSCachedURLResponse *(NSURLSession *session, NSURLSessionDataTask *dataTask, NSCachedURLResponse *proposedResponse) { NSHTTPURLResponse *resp = (NSHTTPURLResponse*)proposedResponse.response; NSMutableDictionary *newHeaders = [[resp allHeaderFields] mutableCopy]; […]

RestKit GET请求queryParameter:没有匹配responseDescriptor

我试图用Restkit做一个请求,但我得到以下错误: {Error Domain=org.restkit.RestKit.ErrorDomain Code=1001 "No mappable object representations were found at the key paths searched." UserInfo={NSLocalizedDescription=No mappable object representations were found at the key paths searched., NSLocalizedFailureReason=The mapping operation was unable to find any nested object representations at the key paths searched: This likely indicates that you have misconfigured the key paths for your mappings., […]

使用instantiateViewControllerWithIdentifier和performseguewithidentifier有什么区别?

这两种方法都允许我提出一个新的视图控制器(一个通过调用presentviewcontroller),所以我不明白两者之间的区别,什么时候应该使用它们。

当UITextField成为Touch ID完成块中的第一个响应者时,不显示iOS键盘(在UIRemoteKeyboardWindow内)

我最近在我的应用程序中发现了一个问题,似乎只发生在iOS 10中,当程序触发一个文本字段成为完成处理程序内的第一响应者时系统键盘不显示 – 具体来说,我从一个Touch ID的尝试。 这个问题的疯狂部分是,即使没有显示键盘,键盘通常会在iPhone上的区域仍然响应触摸input,就好像用户正在键盘上打字一样! 在对这个问题进行了大量的调查和debugging之后,我偶然发现hidden属性在调用becomeFirstResponder之后创build的私有UIRemoteKeyboardWindow上被设置为YES 。 在其他情况下,我popup键盘并输出该hidden属性的值,它被设置为NO 。 有没有人在iOS 10中遇到这个问题? 如果是这样,有人find了解决办法? 我尝试在窗口实例上手动设置hidden值为YES ,但是对它没有影响。 在这一点上,我几乎是在抓秸秆。 附件: 以下是UIApplication实例中窗口的输出,当文本字段成为Touch ID完成处理程序之外的第一个响应者时: 当它成为Touch ID处理程序中的第一个响应者时: 第一次更新 所以我没有考虑到在主线程中becomeFirstResponder完成的第一个becomeFirstResponder ,有些人已经指出了,但不幸的是,这并没有解决问题 – 但是我做了一些额外的发现。 hidden窗口问题似乎源于在发出becomeFirstResponder动作后立即输出UIApplication实例窗口的becomeFirstResponder 。 这样做后,我在UITextField编辑callback设置断点,并继续与键盘(这是不可见的)进行交互 – 当我输出窗口的细节,似乎并没有hidden属性设置为YES (这可能会排除这个问题的原因),但我仍然有一个无形的键盘! 我开始debugging视图层次结构,下面是检查键盘窗口时的样子的截图: 希望你们能看到我在这里发现的钥匙是存在的,但似乎有一些白色的视线挡住了他们的视线。 事情是,我甚至没有看到我的应用程序屏幕上的白色的意见。 我只是看到通常在键盘背后的东西。

我怎样才能无效/取消一个NSTimer而不做viewWillDisappear?

var faderTimer: NSTimer? override func viewDidLoad() { super.viewDidLoad() self.faderTimer = NSTimer.scheduledTimerWithTimeInterval(self.fadeTime, target: self, selector: Selector("fadeBackground"), userInfo: nil, repeats: true) } 我需要在控制器诽谤之前使这个计时器无效。 deinit { //never gets called if let timer = self.faderTimer { self.faderTimer!.invalidate() self.faderTimer = nil } } 但是,我不能坚持deinit()。 看来我必须在viewWillDisappear使其无效。 但是,我不想这样做,因为它会扰乱后台切换。 (从后台返回不调用viewWillAppear,所以我不得不使用通知来启动计时器,这是一个巨大的痛苦。)我宁愿启动计时器viewDidLoad并停止在deinit()。

Restkit json来自服务器的错误响应信息

我已经用了很多时间来解决这个问题。 我使用Restkit 0.9.3与对象映射2.0。 所有的数据都是JSON。 我可以正确地进行GET,POST,PUT和DELETE操作,它是我不会捕获和映射的响应体。 所以我的问题是,我的宁静API是返回错误时出现问题。 我想用restkit映射这些错误,fx返回这个错误: {“code”:“401”,“message”:“未经授权”} 我如何映射这个JSON正确? 我已经尝试了很多东西,可以使用一些指导 – 或者请举一个例子。

UIWebView捕获响应头

我search/search了很多,但无法得到如何在UIWebview捕获HTTP响应头的UIWebview 。 假设我在应用程序启动的UIWebview中将用户redirect到注册网关(已经处于活动状态),并且当用户完成注册时,应该通过在HTTP响应头中传回的注册时分配给用户的成功唯一标识来通知应用程序。 有没有直接的方式来捕获/打印使用UIWebview的HTTP响应头?