Swift 类中的静态与类函数/变量?

2023-12-09

以下代码在 Swift 1.2 中编译:

class myClass {
    static func myMethod1() {
    }
    class func myMethod2() {
    }
    static var myVar1 = ""
}

func doSomething() {
    myClass.myMethod1()
    myClass.myMethod2()
    myClass.myVar1 = "abc"
}

和有什么区别static函数和一个class功能?我应该使用哪一个,何时使用?

如果我尝试定义另一个变量class var myVar2 = "", 它说:

类中尚不支持类存储属性;您指的是 'static' 吗?

当支持此功能时,与static变量和一个class变量(即当两者都在类中定义时)?我应该使用哪一个,何时使用?

(Xcode 6.3)


static and class两者都将方法与类关联,而不是与类的实例关联。不同的是子类可以重写class方法;他们不能覆盖static方法。

class特性以相同的方式运行(子类可以覆盖它们)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 类中的静态与类函数/变量? 的相关文章

  • Python 中的扩展方法

    Python 有像 C 那样的扩展方法吗 是否可以调用如下方法 MyRandomMethod 在现有类型上 例如int myInt MyRandomMethod 您可以在 Python 代码中定义的类对象上添加您喜欢的任何方法 又名猴子修补
  • 在不使用PrepareForSegue的情况下在segue之间传递数据

    我正在使用情节提要创建一个用户设置帐户 分 5 个步骤 每个步骤都有一个 ViewController 1 输入姓名 联系人等 2 导入照片 3 输入等 4 更多输入 5 确认页面 如果用户单击 确认 gt 获取所有输入并上传到解析 当我在
  • Firebase数据库在批准后保存数据

    我在 iOS 应用程序上使用 firebase 数据库 我正在快速写作 我正在使用 发送 按钮在我的 firebaseDatabase 上写入数据 例如文本字段和标签值 有什么方法可以接受或拒绝我的数据库中的数据吗 我的意思是 如果用户向文
  • 从 Firebase Swift 检索信息的好方法

    我和我的朋友正在 swift 上开发一个 IOS 项目 并集成了 新的 Firebase 我们能够写入 Firebase 数据库 但是我们在检索数据时遇到了问题 我们有一个 tableView 控制器 我们希望从 Firebase 数据库填
  • C++ 获取成员函数的类型(返回类型和签名),不带成员函数的“const”限定符

    是否可以在没有成员函数的 const 限定符的情况下获取成员函数的类型 返回类型和签名 到目前为止 我尝试使用 decltype T 和 std remove const std decay Example void Func std st
  • 创建具有子级别的类属性

    我一直在读这个topic https excelmacromastery com vba class modules A Quick Guide to the VBA Class Module关于如何使用类模块 我的目标是提高代码性能和可读
  • 不使用 var 关键字声明变量

    w3schools 上写着 如果声明变量时不使用 var 则该变量始终变为 GLOBAL 在函数内部声明全局变量有用吗 我可以想象在某些事件处理程序中声明一些全局变量 但它有什么用呢 更好地利用内存 不 没有内存优势或类似的东西 w3sch
  • 如何在 Swift 中枚举 OptionSetType?

    我在 Swift 中有一个自定义的 OptionSetType 结构 如何枚举一个实例的所有值 这是我的选项集类型 struct WeekdaySet OptionSetType let rawValue UInt8 init rawVal
  • iOS 应用程序中的谷歌地图实时交通状况?

    如何使用 google 地图 sdk 或 api 在 ios 应用程序中添加当前交通状况 如下图所示 有 javascript api 但我没有找到任何适用于 iOS 应用程序的解决方案 只需在 iOS SDK 中添加一行代码即可启用或禁用
  • 避免从浏览器控制台修改 Javascript 变量

    我有个问题 我定义了一些全局变量并将其命名为一个名为 app 的对象 例子 window app foo null bar null 好吧 我的想法是 我希望能够通过调用 app foo baz 或 app bar baz 从任何模块修改这
  • 将 Javascript 变量传递给 Objective-C

    我已经了解了如何将 Objective C 变量传递给 JavaScript 在ios中将目标c变量传递给javascript https stackoverflow com questions 3641968 passing object
  • 为什么快速枚举中的可选项会导致无限循环?

    评估以下代码 我希望打印一次Hello World 相反 它会导致无限循环 有人可以解释为什么吗 let array what for text String in array print Hello World 删除可选的 显然让它只打印
  • C++ 中的“助手”函数

    在重构一些旧代码时 我删除了许多实际上应该是静态的公共方法 因为它们a 不操作任何成员数据或调用任何其他成员函数 b 因为它们可能在其他地方有用 这让我思考将 辅助 功能组合在一起的最佳方法 Java C 方法是使用带有私有构造函数的静态函
  • Swift NotificationCenter 删除观察者最快的方法

    我正在添加一些观察员viewController applicationWillResignActive applicationDidEnterBackground 以及许多其他人 我想删除self作为一行中所有已注册通知的观察者 我的问题
  • javascript 代码只能在函数之外工作 - 为什么?

    为什么这段代码不能像下面写的那样工作 但如果我注释掉function testBgChange 并将代码保留在该函数内 它可以正常工作 如果我将代码保留在函数中然后调用该函数 会有什么区别
  • 即时将图像添加到 AR 资源以进行图像识别

    ARKit1 5介绍图像识别 在代码中 您必须创建一组参考图像 如下所示 let referenceImages ARReferenceImage referenceImages inGroupNamed AR Resources bund
  • 配置 2 在按钮 swiftUI 中发出警报消息

    我要学习 swift 和 swiftUI 我申请按类别整理笔记 如果需要的话 你可以在我的 GitHub 中找到我的项目 https github com yoan8306 List Notes https github com yoan8
  • 将 Facebook 图片 URL 上传到 Firebase 存储

    我正在尝试将用户的 Facebook 个人资料图片上传到 Firebase 存储 let dictionary result as NSDictionary let data dictionary objectForKey data let
  • 在应用程序内启用或禁用 Iphone 推送通知

    我有一个 iPhone 应用程序 可以接收推送通知 目前 我可以通过转到 iPhone 设置 通知来禁用我的应用程序的推送通知 但我想在我的应用程序中添加一个开关或按钮来启用或禁用推送通知 这是可以做到的 因为我在 foursquare i
  • Swift 3 和 Xcode8 - init 的使用不明确

    在我安装 Xcode 8 并将项目转换为 Swift 3 之前 以下行没问题 现在转换后看起来像这样 let valueData Data Data bytes UnsafePointer

随机推荐

  • C# guid 和 SQL uniqueidentifier

    我想创建一个 GUID 并将其存储在数据库中 在 C 中 可以使用 Guid NewGuid 创建 guid 这将创建一个 128 位整数 SQL Server 有一个 uniqueidentifier 列 其中包含一个巨大的十六进制数字
  • Plotly:如何在不同的轨迹上绘制带有时间值的标记?

    我有2个数据框 df1 包含列 time bid price df2 包含列 time flag 我想将 df1 的时间序列绘制为折线图 并且我想在 df2 flag 列值 True 的时间点上的点上放置标记 我怎样才能做到这一点 您可以通
  • 从任何地方访问 Azure SQL 数据库

    我们为赛车运动开发了一个基于 SQL 的应用程序 我们的一些客户正在考虑使用 Azure 来保存数据库 问题是他们到世界各地参加比赛 因此需要使用他们拥有的任何互联网连接来访问数据库 并且无法在防火墙规则中预先定义 IP 地址 是否可以有效
  • 如何模拟类方法(+)? [复制]

    这个问题在这里已经有答案了 需要为以下代码编写单元测试 我想对类方法canMakePayments进行mock 返回yes或no 到目前为止没有找到好的方法 因为canMakePayments是一个类方法 似乎所有OCMock方法都用于实例
  • Pandas 根据列中的值将数据帧拆分为多个 csv

    我有个问题与此类似但我需要采取进一步的措施 问题是我的文件包含 50k 多行 每行有 4 个值 Indicator Country Date 和 value 我想根据国家 地区拆分我的 CSV 我不知道有多少个国家 地区 因此所有名称相似的
  • 如何从 Pyspark 中的 Spark 数据帧创建边缘列表?

    我在用graphframes在 pyspark 中进行某些图形类型的分析 并想知道从顶点数据框架创建边列表数据框架的最佳方法是什么 例如 下面是我的顶点数据框 我有一个 id 列表 它们属于不同的组 id group a 1 b 2 c 1
  • 如何在 Python 中解释离散傅里叶变换 (FFT) 的结果

    关于这个主题有很多问题 我已经循环浏览了其中很多问题 获得了有关处理频率的概念性指导 here and here 有关 numpy 函数的文档 here 有关提取幅度和相位的操作信息 here 并走出站点 例如this or this 然而
  • 如何在 C# 中将行筛选的 DataGridView 设置为 DataTable

    我有 DataGridview 我过滤了其中的一些行 我需要将新数据源保存到新的 DataTable 由于某种原因我当前的代码不起作用 这里我如何尝试转换它 LogGridView DataSource as DataTable Defau
  • 通过子项无限嵌套 ngFor

    我发现了一些关于 Angular2 中嵌套 ngFor 循环的问题 但不是我正在寻找的问题 我想在列表中显示类别 我的 JSON 看起来像这样 Categories Title Categorie A Children Title Sub
  • 如何检索 LoaderExceptions 属性?

    我在更新服务参考时收到错误消息 自定义工具警告 无法加载一种或多种请求的类型 检索 LoaderExceptions 属性以获取更多信息 如何检索 LoaderExceptions 属性 Update 当我重新导入域对象项目时 我的错误消失
  • 在张量流中将 1 通道掩模应用于 3 通道张量

    我正在尝试将掩码 二进制 仅一个通道 应用于 RGB 图像 3 个通道 标准化为 0 1 我当前的解决方案是 我将 RGB 图像分割成它的通道 将其与蒙版相乘 然后再次连接这些通道 with tf variable scope apply
  • CodeIgniter 的 CAS 身份验证库

    我正在尝试在 CodeIgniter 应用程序中实现 CAS 身份验证 但我找不到当前是否有为其设置的库 我通过只包含类并添加一些肮脏的修复来进行管理 但如果有人知道合适的库 我认为这将是一个更干净的解决方案 我一直在浏览这里以及谷歌上的一
  • PHP:帮助处理此日期格式

    我正在使用 CodeIgniter 构建一个应用程序 我的 SQL Server 数据库中有包含日期 时间字段的记录 我正在从 m d Y 文本字段中输入的日期查询这些记录 这对应于数据库中的日期格式 不幸的是我在英国 所以我想输入日期 例
  • 如何在创建新计时器之前检查计时器是否处于活动状态

    我在另一个线程上遇到了这个计时器代码 当您按下RaisedButton同时进行多次 每次点击都会增加 1 秒 从而增加减少的速度 有关检查计时器是否已处于活动状态以及是否不让计时器处于活动状态的最简单方法的任何想法RaisedButton创
  • 如何从私有 Docker 注册表中删除镜像?

    我运行一个私人 docker 注册表 我想删除除latest来自存储库 我不想删除整个存储库 只想删除其中的一些图像 这API docs没有提到做到这一点的方法 但肯定有可能吗 目前您无法使用注册表 API 来执行该任务 它只允许您删除存储
  • wamp上安装magento的问题

    大家好 谁能帮我解决安装 magento 时遇到的问题 我的问题是我已经在 wamp 上下载了 magento 在安装过程中我收到了错误 它给出的消息是致命错误 超过了 60 秒的最大执行时间 c wamp www magento lib
  • signalr 我如何从服务器向呼叫者发布消息

    我正在使用 Signalr 1 1 4 因为我仍在使用 net4 所以无法升级到 signalr 2 基本上我想从服务器向调用者发布消息 以避免消息发送到任何未启动进程的客户端 我的集线器类看起来像这样 public class Updat
  • VBScript 中的文件名字符串空格问题

    当我运行此命令时出现错误 但我不确定原因 运行 VBScript 来执行 bat 文件 我想将任何错误消息输出到日志文件 为此 我有以下代码 Set WshShell CreateObject WScript Shell WshShell
  • 如何过滤 Quickblox 用户?

    我想根据应用程序用户的电话号码或电子邮件过滤他们 但我不希望完全匹配 而是用户应返回的部分电子邮件或部分号码作为响应 Quickblox iOS SDK 有办法吗 假设我有一些 Quickblox 用户 如下所示 ID NAME Email
  • Swift 类中的静态与类函数/变量?

    以下代码在 Swift 1 2 中编译 class myClass static func myMethod1 class func myMethod2 static var myVar1 func doSomething myClass