首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Xcode不允许我为UIView使用NSObject的init()函数

Xcode不允许我为UIView使用NSObject的init()函数
EN

Stack Overflow用户
提问于 2018-11-15 16:55:07
回答 1查看 219关注 0票数 0

它可能非常类似于这个仍未解决的问题:Xcode 10 beta2: Cannot invoke initializer for type 'UIView' with no arguments

发行:

不能为没有参数的类型“UIImageView”调用初始化程序

但是请给我一个机会问这个问题。我之前有一个用SWIFT4.0编写的项目,突然Xcode不允许我用NSObjectinit()方法创建一个init()对象。

我已经做了什么:

  1. 我切换到工作提交,而男孩,项目仍然不会编译。
  2. 当然,我试着编译我的其他项目,当然,它们在使用UIView()构建这么多视图时进行了编译。
  3. 试着寻找答案,但再一次,上面链接的问题没有答案。
  4. 当前正在对该项目的项目设置与新项目的设置进行比较。

我想问和想知道的是:

  1. 我需要知道,因为这很麻烦,为什么会这样。
  2. 这是Xcode中的配置错误吗?但我对此表示怀疑,因为我已经切换到了工作提交,而且它仍然存在编译时错误。

请不要告诉我使用UIView(frame: CGRect)构造函数,因为我有数以百计的UIView()代码和类似的代码。

我知道的是:

Where does UIView.init() come from?

请记住,UIView是一个Objective类,而Objective不是Swift。关于指定的和方便的初始化器的规则及其继承规则都不存在于Objective中,在Swift中使用这些类时,这个事实有时会造成很大的麻烦。也就是说,UIView的init()实际上是一个调用init(frame:.zero)的方便的初始化器。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-25 15:43:49

为了结束这个线程/问题,我将添加一个答案。

不是我解决了这个问题。这个项目,如果没有在问题中提到,只是一个附带的项目,从一个远程/自由职业者的工作。实际上,如果上面没有提到,我实际上是将项目迁移到Swift 4.2。一路上,这个问题出现了。在更新过程中,我并没有给所有要重命名的代码重新命名。长话短说,我暂时放弃了这个任务,但是公司里有人决定解决这个问题。

解决方案是:首先完成迁移,。只需重命名Swift 4.2所需的所有内容,并更新豆荚。就这样!:)我希望这对未来的人们有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53324372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档