ios – Swift:Class不能被声明为public,因为它的Super类是内部的

ios – Swift:Class不能被声明为public,因为它的Super类是内部的,第1张

概述我试图将该类声明为公共类,如下所示 class RewardsAndRedemptionModel:BaseObject {var rewardHistory :[RewardHistoryModel]!} 这是我试图让班级公开的地方,但我不能. public class RewardHistoryModel :BaseObject { var rewardValue : String! 我试图将该类声明为公共类,如下所示

class RewardsAndRedemptionModel:BaSEObject {var rewardHistory :[RewardHistoryModel]!}

这是我试图让班级公开的地方,但我不能.

public class RewardHistoryModel :BaSEObject  { var rewardValue : String! var recordedByname : String! var rewardFor : String!}

即使我阅读互联网上提供的文件,我也无法得到它,请帮助我.

解决方法 编译器告诉您不能将其公开,因为超类是内部的.你知道,编译器不会撒谎.

没有子类比其超类更易于访问.为什么?以这种方式思考,子类具有其超类具有的所有属性和成员.如果此限制不存在,则访问修饰符将不再有用.你有一个内部课程.其他人将您的内部类子类化并将其声明为公共类.现在封装被打破了.现在可以通过子类访问您不想访问的内容.

换句话说,如果子类比其超类更易于访问,则超类的访问修饰符会失效.这就是为什么编译器有这个限制的原因:提醒你,你写的东西可以使超类的访问修饰符失效.你可能做错了.

要解决此问题,请将BaseClass及其超类声明为public.

总结

以上是内存溢出为你收集整理的ios – Swift:Class不能被声明为public,因为它的Super类是内部的全部内容,希望文章能够帮你解决ios – Swift:Class不能被声明为public,因为它的Super类是内部的所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1016109.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存