- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我为 NSURLSession
创建了类别,然后我遇到了一个问题。在 iOS 7 中,[[NSURLSession sharedSession] isKindOfClass:[NSURLSession class]]
返回 NO
。
我知道 [NSURLSession sharedSession]
正在返回 __NSCFURLSession
的实例,但它不是 NSURLSession
的子类。所以,这没有任何意义。在编译时一切正常,但在运行时我得到无法识别的选择器异常。
我该如何解决这个问题?是否有任何我可以使用的运行时魔术功能?因为
[[NSURLSession sharedSession] respondsToSelector:@selector(dataTaskWithRequest:completionHandler:)]
返回 YES
,这是我在我的类别中使用的唯一方法。
最佳答案
作为在类别中创建实例方法的替代方法,您可以创建一个接受 NSURLSession
实例的类方法。
假设这样一个类别:
@interface NSURLSession (MyCategory)
- (void)doSomethingWithCompletion:(MyCompletionHandler)completionHandler;
@end
替换可以是:
@interface NSURLSession (MyCategory)
+ (void)doSomethingWithSession:(NSURLSession *)session completion:(MyCompletionHandler)completionHandler;
@end
用法如下:
[NSURLSession doSomethingWithSession:[NSURLSession sharedSession]
completion:^{ ... }];
关于ios - "NSURLSession sharedSession"不是一种 NSURLSession,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31875870/
是什么让它“共享”?我正在学习 Swift iOS 开发类(class),这个问题不断出现。在粗略的网络搜索中,我可以看出 NSURLSession.sharedSession() 是 NSURLSe
有人知道[NSURLSession sharedSession]的超时配置是什么吗? 我正在调试,这些信息会很有帮助。 编辑 显然我的问题不清楚(!)。我不是在问如何更改超时。我问的是默认值是多少。所
我遇到了一个非常奇怪的问题。 我正在像这样使用 session.DataTaskWithURL: let task = session.dataTaskWithURL(url!, comple
当我想将 mysql 数据库中的数据填充到类对象中时,我的问题出现了。我试图返回一个对象数组,它返回 nil,然后它以某种方式填充自己。在返回空白数组之前如何使其填充? 这是我的代码和代码输出的屏幕截
我现在正在开发一个小型应用程序,我需要连接到一些网站才能获取一些信息。 这是我做的函数,90%的情况下可以满足我的需求。 func requestFunctionOn(url: String) {
我为 NSURLSession 创建了类别,然后我遇到了一个问题。在 iOS 7 中,[[NSURLSession sharedSession] isKindOfClass:[NSURLSession
我需要将自定义用户代理字符串设置为 NSURLSession 的 sharedSession。即每当我调用 [NSURLSession sharedSession] 时,它默认包含我的自定义配置,我不
class PostFOrData { let url = NSURL( string: "http://210.61.209.194:8088/SmarttvWebServiceTopmso
class PostFOrData { let url = NSURL( string: "http://210.61.209.194:8088/SmarttvWebServiceTopmso
class PostFOrData { let url = NSURL( string: "http://210.61.209.194:8088/SmarttvWebServiceTopmso
class PostFOrData { let url = NSURL( string: "http://210.61.209.194:8088/SmarttvWebServiceTopmso
class PostFOrData { let url = NSURL( string: "http://210.61.209.194:8088/SmarttvWebServiceTopmso
class PostFOrData { let url = NSURL( string: "http://210.61.209.194:8088/SmarttvWebServiceTopmso
目标: 在用户界面的文本字段中键入一个数字。按“开始!”按钮(用户界面)和:1.文本字段中的数字作为 post 变量传递到 PHP 脚本(通过 NSURLSession..dataTaskWithRe
我在使用 NSURLSession.sharedSession().dataTaskWithRequest(request) 时遇到问题。我想根据某些 API 对我的应用程序进行身份验证,如果身份验证
class PostFOrData { let url = NSURL( string: "http://210.61.209.194:8088/SmarttvWebServiceTopmso
为什么没有打印任何结果? 我一直在寻找答案。我尝试了许多不同的示例代码块。除非产生错误,否则打印语句永远不会触发。例如:如果我仅将 URL 更改为“http”,而没有其他任何内容,我自然会收到错误并打
我有一段代码可以从 php 返回的 Json 中获取员工数据,如下所示: [{"id":"1","email":"KK","password":"KKK","firstName":"KKK","las
我是 iOS World 的新手。当我看到下载文件的方法时。我看到这段代码: // create url let imageURL = NSURL(string: Co
我正在尝试执行 2 个 HTTP 请求在第一个请求中,我将获得一个将在第二个请求中使用的 var。我的问题是,当我使用下面的代码执行此操作时,它只运行第二个请求而没有运行第一个请求。 let
我是一名优秀的程序员,十分优秀!