intrinsicContentSize() - Method does not override any method from its superclass

后端 未结 2 1259
攒了一身酷
攒了一身酷 2020-12-05 13:47

I updated to Xcode 8 beta 5, and now get the following error on a class that inherits from UIView:

Method does not override any method from its superclass

o         


        
2条回答
  •  暖寄归人
    2020-12-05 14:19

    While transitioning from one version of Xcode to another, there is different ways to find out why your code does not compile anymore. Here are a few resources for intrinsicContentSize:

    1. You can search for intrinsicContentSize from developer.apple.com.
    2. You can search for intrinsicContentSize straight from Apple Developer API Reference page for UIView.
    3. You can open the iOS 10.0 API Diffs for UIKit page and search for instances of intrinsicContentSize with your browser's find menu (shortcut: cmd + F).
    4. You can search for intrinsicContentSize from Xcode's Documentation and API Reference (path: Help > Documentation and API Reference, shortcut: shift + cmd + 0).
    5. You can also right-click on any UIView initializer in your Xcode code (for example, UIView()), select Jump to Definition and then perform a search for intrinsicContentSize.

    These searches will show you that intrinsicContentSize, with Swift 3 and iOS 10, is no more a method but a computed property of UIView that has the following declaration:

    var intrinsicContentSize: CGSize { get }


    As a consequence, you will have to replace your intrinsicContentSize() method implementation with the following code snippet:

    override public var intrinsicContentSize: CGSize {
        return ...
    }
    

提交回复
热议问题