2015-01-13 1 views
4

У меня есть этот быстрый код, который, как я думаю, должен работать, но он не может обрабатывать объектные c статические поля. Я попытался добавить «()« несколько мест, но ничего не работает.Быстрые ошибки: «менеджер()» недоступен: используйте конструкцию объекта «AFHTTPRequestOperationManager()»

func AFHTTPRequestOperationManagerDispatchOnMainQueue(mainQueue: Bool) -> AFHTTPRequestOperationManager { 
    var manager = AFHTTPRequestOperationManager.manager 
    manager.responseSerializer = AFJSONResponseSerializer(readingOptions: NSJSONReadingOptions.AllowFragments) 
    manager.requestSerializer = AFJSONRequestSerializer(readingOptions: NSJSONReadingOptions.AllowFragments) 
    if (!mainQueue) { 
     manager.completionQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) 
    } 
    return manager; 
} 

поле и свойство выглядит следующим образом:

+ (instancetype)manager; 
@property (nonatomic, strong) AFHTTPRequestSerializer <AFURLRequestSerialization> * requestSerializer; 
@property (nonatomic, strong) AFHTTPResponseSerializer <AFURLResponseSerialization> * responseSerializer; 

Я получаю эти сообщения об ошибках:

Error: 'manager()' is unavailable: use object construction 'AFHTTPRequestOperationManager()'
Error: '() -> AFHTTPRequestOperationManager!' does not have a member named 'responseSerializer'
Error: '() -> AFHTTPRequestOperationManager!' does not have a member named 'requestSerializer'
Error: '() -> AFHTTPRequestOperationManager!' does not have a member named 'completionQueue'
Error: function produces expected type 'AFHTTPRequestOperationManager!'; did you mean to call it with '()'?

+1

ошибка, кажется, указывает, что он должен быть 'менеджер вар = AFHTTPRequestOperationManager()'. –

ответ

9

Когда Objective-C импортируются в Swift, как вы делаете с Здесь AFNetworking, идентифицируемые фабричные методы преобразуются в простые инициализаторы. В данном случае это означает, что (как @Martin указывает), вы должны использовать эту форму вместо:

сообщение
var manager = AFHTTPRequestOperationManager() 
+0

Не могли бы вы помочь мне со следующим вопросом? http://stackoverflow.com/q/27999703/1030951 – HarshIT

 Смежные вопросы

  • Нет связанных вопросов^_^