Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法在Swift中调用特定的Objective-C类方法_Ios_Objective C_Swift - Fatal编程技术网

Ios 无法在Swift中调用特定的Objective-C类方法

Ios 无法在Swift中调用特定的Objective-C类方法,ios,objective-c,swift,Ios,Objective C,Swift,我正在使用AF2.3.1: let request = NSURLRequest(URL: NSURL(string: "http://xxx.xxx.xxx/xxx")!) var requestOperation = AFHTTPRequestOperation(request: request) requestOperation.responseSerializer = AFImageResponseSerializer() 我在使用Swift 1.1(Xcode 6.1 beta 2

我正在使用AF2.3.1:

let request = NSURLRequest(URL: NSURL(string: "http://xxx.xxx.xxx/xxx")!)
var requestOperation = AFHTTPRequestOperation(request: request)
requestOperation.responseSerializer = AFImageResponseSerializer()
我在使用Swift 1.1(Xcode 6.1 beta 2 build 6A1030)的第三行有一个错误:

这一行在Objective-C上应该是这样的:

requestOperation.responseSerializer = [AFImageResponseSerializer serializer];
我认为这个问题与Objective-C的Swift自动桥接有关。有什么解决方法吗

更新:

这种方式行不通:

AFImageResponseSerializer.serializer()
错误描述非常好:

'serializer()' is unavailable: use object construction 'AFHTTPResponseSerializer()'
更新2:

现在我找到了一个暂时的解决办法。我将此代码添加到桥接头中:

@interface AFImageResponseSerializer (CustomInit)
+ (instancetype)sharedSerializer;
@end
和添加到“桥接头”实现文件的代码:

@implementation AFImageResponseSerializer (CustomInit)
+ (instancetype)sharedSerializer {
    return [AFImageResponseSerializer serializer];
}
@end
然后像这样使用它:

AFImageResponseSerializer.sharedSerializer()

如果是类方法,您可能需要
AFImageResponseSerializer.serializer()

这是由于在XCode 6.1中对基类的转换越来越严格。 所以,你需要向上投射,如下所示

requestOperation.responseSerializer = AFImageResponseSerializer() as AFHTTPResponseSerializer

刚刚添加了对我有用的问题的更新!谢谢再见,谢谢!您是如何发现此解决方案的?:)
requestOperation.responseSerializer = AFImageResponseSerializer() as AFHTTPResponseSerializer