Swift - XCode6 beta5 requires init (encoder) for each class

In the latest version of Xcode 6 beta (5), I noticed that almost every class in my application complains of an error:

Class does not implement its superclass required members

For instance:

import UIKit

let _sharedAPIManager = APIManager(baseURL: NSURL.URLWithString(API_URL))

class APIManager: AFHTTPSessionManager {

class var sharedInstance : APIManager {
    return _sharedAPIManager
}

// this fixes compiler error but why it should be here?
required init(coder aDecoder: NSCoder!) {
    super.init(coder: aDecoder)
}

override init() {
    super.init()
}

override init(baseURL url: NSURL!) {
    super.init(baseURL: url)

    self.responseSerializer = AFJSONResponseSerializer()
    self.requestSerializer = AFJSONRequestSerializer()

    self.requestSerializer.setValue(API_KEY, forHTTPHeaderField: "X-Api-Key")
    self.requestSerializer.setValue("3", forHTTPHeaderField: "X-Api-Version")
}

override init(baseURL url: NSURL!, sessionConfiguration configuration: NSURLSessionConfiguration!) {
    super.init(baseURL: url, sessionConfiguration: configuration)
}

The question is, why is this relevant even in the AFNetworking AFHTTPSessionManager subclass? Did I miss something?

+4
source share
2 answers

Because it AFHTTPSessionManagercorresponds to NSCodingand initWithCoder:. From the manual:

initWithCoder: returns an object initialized from data in the given Unarchiver. (Required)

+6
source

, , . , , , , NSCoding .

+6

All Articles