swift - Swift 包访问修饰符
问题描述
我创建了一个简单Swift Package
的其中一个UI class
。
我设法上传到一个仓库并在一个项目中使用它。
当我第一次尝试导入它并在主项目中使用它时,访问修饰符出现问题,因为 mypackage
是not public
但定义为class MainView: UIView {}
.
在我将包裹更改为public class MainView: UIView {}
它之后,它运行良好。
我的问题:
这个包不像我的其他项目类吗?为什么应该与 一起使用public
?
有没有办法使用我的包类没有public access modifier
?
解决方案
默认访问修饰符是“internal”,表示它在项目本身内。Swift 包(框架)是您实现嵌套在项目中的第 3 方“项目”。这意味着您正在尝试从另一个项目中获取代码。
TL;DR,不,如果您想使用该功能,则不能跳过使用公共访问修饰符
推荐阅读
- java - 使用项目后标记位置 || Minecraft 插件 Spigot Bukkit
- php - Laravel 8.X Eloquent 中数据库迁移的正确外键约束语法是什么?
- docker - Docker.io 安装问题
- java - Hibernate - 无法加载 Hibernate 配置中声明的类
- flutter - Flutter 底部导航栏:第一项大于其他项
- c# - 直接从类更新模型中的数据
- arrays - 从 SAS 中每一行的唯一列开始计算列
- swift - 使 UIMenuController 能够在 TextField 中进行复制和粘贴而不使文本字段可编辑 isUserInteractionEnabled = false
- spring-data-jpa - 从应用程序开发的角度分片
- java - 创建用户配额条款缺失或无效选项