Как переопределить свойство только для чтения из Objective-C в Swift?

Вот как это определено в target-c:

@interface AFHTTPRequestOperation : AFURLConnectionOperation

@property (readonly, nonatomic, strong) id responseObject;

Как назначить sth этому свойству?

Я хотел бы высмеять это свойство для последующего использования. Поэтому мне нужно, чтобы мой собственный responseObject был переопределен в Swift. Есть идеи, как это сделать? Я могу подкласс, расширить или что-то еще. Единственное, это должно быть по типу AFHTTPRequestOperation.

class MyRequestOperation: AFHTTPRequestOperation {

    override var responseObject: [String: AnyObject]
}

выдает ошибку:

  

Getter for responseObject with Objective-C selector responseObject conflicts with getter for responseObject from superclass AHTTPRequestOperation with the same Objective-C selector

12 голосов | спросил Bartłomiej Semańczyk 6 PM00000030000004231 2015, 15:20:42

2 ответа


0

Итак, ответ прост, как сказал @Atul Mishra:

class MyRequestOperation: AFHTTPRequestOperation {

    var myOverridenResponseObject: AnyObject?

    override var responseObject: AnyObject? {

        get {
            return myOverridenResponseObject
        }

        set {
            myOverridenResponseObject = newValue
        }
    }
}
ответил Bartłomiej Semańczyk 6 PM00000030000000531 2015, 15:36:05
0

Вы можете представить унаследованное свойство только для чтения как свойство для чтения и записи, указав в свойстве подкласса override.better и setter, но вы не можете предоставить унаследованное свойство для чтения и записи как свойство только для чтения. для более подробного объяснения см. https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Inheritance.html#//apple_ref/doc/uid/TP40014097-CH17-XID_300

ответил Atul Mishra 6 PM00000030000004031 2015, 15:30:40

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132