它可能非常类似于这个仍未解决的问题:Xcode 10 beta2: Cannot invoke initializer for type 'UIView' with no arguments。
发行:
不能为没有参数的类型“UIImageView”调用初始化程序
但是请给我一个机会问这个问题。我之前有一个用SWIFT4.0编写的项目,突然Xcode不允许我用NSObject
的init()
方法创建一个init()
对象。
我已经做了什么:
UIView()
构建这么多视图时进行了编译。我想问和想知道的是:
请不要告诉我使用UIView(frame: CGRect)
构造函数,因为我有数以百计的UIView()
代码和类似的代码。
我知道的是:
Where does UIView.init() come from?
请记住,UIView是一个Objective类,而Objective不是Swift。关于指定的和方便的初始化器的规则及其继承规则都不存在于Objective中,在Swift中使用这些类时,这个事实有时会造成很大的麻烦。也就是说,UIView的init()实际上是一个调用init(frame:.zero)的方便的初始化器。
谢谢!
发布于 2018-11-25 07:43:49
为了结束这个线程/问题,我将添加一个答案。
不是我解决了这个问题。这个项目,如果没有在问题中提到,只是一个附带的项目,从一个远程/自由职业者的工作。实际上,如果上面没有提到,我实际上是将项目迁移到Swift 4.2。一路上,这个问题出现了。在更新过程中,我并没有给所有要重命名的代码重新命名。长话短说,我暂时放弃了这个任务,但是公司里有人决定解决这个问题。
解决方案是:首先完成迁移,。只需重命名Swift 4.2所需的所有内容,并更新豆荚。就这样!:)我希望这对未来的人们有所帮助。
https://stackoverflow.com/questions/53324372
复制相似问题