init的目的是什么!初始化器失败?

2024-04-14

Apple Swift 编程语言指南提到了 init! 的存在!初始化程序,但没有提供任何示例。 (搜索初始化!在此页面中 https://developer.apple.com/library/ios/documentation/swift/conceptual/Swift_Programming_Language/Initialization.html)

我了解使用 init? 声明的正常可失败初始化程序的用法,但我无法满足其他版本的需要。需要它做什么?有人可以举个例子吗?


这有两个目的:

  • 当导入 Swift 不知道的 Cocoa API 时。如果 Swift 不知道初始化器是否可以返回 nil,它会用 ! 进行注释。这样开发人员就知道那里可能隐藏着一个 nil,而无需强迫开发人员在实际上没有理由的情况下测试 nil。

  • 出于同样的原因,在其他上下文中使用隐式解包的选项(在某些情况下,您可能愿意牺牲编译时安全性来增加便利性)。

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

init的目的是什么!初始化器失败? 的相关文章

  • Google Cloud Messaging 显示成功消息但未发送 iOS

    所以我在使用 Google Cloud Messaging 时遇到了一个非常奇怪的问题 我遇到的问题是它正在成功注册设备 并且当发送消息时我会收到来自 Google 的成功消息 但设备永远不会收到任何消息 我从 GCM 得到的消息是 res
  • 如何在 iOS 中将 Firebase 对象持久保存到磁盘?

    看起来Firebase http www firebase comiOS 实现不支持客户端模型的离线缓存 这在实践中意味着 对于需要身份验证的 Firebase 应用程序 您需要首先进行身份验证并等待 Firebase 完成登录 检查用户身
  • 如何在 Swift 中使用 CoreBluetooth 更新 BLE 设备的电池电量?

    func peripheral peripheral CBPeripheral didDiscoverCharacteristicsFor service CBService error Error for c in service cha
  • 保存来自 TrueDepth 相机的深度图像

    我正在尝试保存 iPhone X TrueDepth 相机的深度图像 使用AVCam照片滤镜 https developer apple com library content samplecode AVCamPhotoFilter Lis
  • 使用 Quartz 创建 PDF 注释 (iOS)

    有人设法使用 Quartz 在现有 PDF 中编写自定义注释吗 我已经使用 CGPDFDocumentRef 等渲染了 PDF 现在工作正常 我成功地阅读了 Annots 字典 if CGPDFDictionaryGetArray page
  • 如何解决 iOS 6 SDK 中的 hidesBottomBarWhenPushed 行为异常的问题?

    我遇到了中描述的相同问题这个 OpenRadar 问题 http www openradar me 14670329 正如那里所说 摘要 UIViewController的hidesBottomBarWhenPushed属性 对于使用 iO
  • Swift:检查 UISearchBar.text 是否包含 url

    如何检查 UISearchBar text 是否包含 URL 我想做这样的事情 if searchBar text NSTextCheckingType Link 但我收到错误 String is not convertible to NS
  • 如何编辑应用程序包中的文件?

    在我的应用程序中 我从存储在捆绑资源中的 CSV 文件加载数据 但是 我希望能够在用户点击 更新 按钮时以编程方式更新此文件 有没有办法以编程方式更改应用程序包中的资源 这是我用来访问该文件的代码 NSString path NSBundl
  • iOS Swift 在后台下载大量小文件

    在我的应用程序中 我需要下载具有以下要求的文件 下载大量 例如 3000 个 小 PNG 文件 例如 5KB 逐个 如果应用程序在后台继续下载 如果图像下载失败 通常是因为互联网连接丢失 请等待 X 秒然后重试 如果失败Y次 则认为下载失败
  • Apple Developer 应用程序门户不再可以生成新的 Bundle Seed ID

    iOS 开发者门户中的新界面不再为您的应用程序 ID 提供 生成新的 按钮 取而代之的是 使用团队 ID 这将导致使用相同的种子 ID 任何人都知道为什么要进行更改以及您应该如何使用新的捆绑包种子 ID 随意补一些 不再可能生成新的种子 I
  • 如何将CIFilter应用到UIView上?

    根据Apple docs 过滤属性CALayer不支持iOS 当我使用正在申请的应用程序之一时CIFilter to UIView即 Splice Funimate 和 Artisto 的视频编辑器 Videoshow FX 这意味着我们可
  • 命令 /Applications/Xcode-beta.app/Contents/Developer/usr/bin/atool 失败,退出代码 255

    它发生在新的 Xcode7 beta 中 CompileAssetCatalog Users admin Library Developer Xcode DerivedData InstaAd ddgdnbxlpxipirebpndfmgr
  • 循环多个 UIAlertController

    在某些情况下 我的应用程序需要显示多个警报消息 错误消息在启动时收集 并且需要一次向用户显示一条 当第一个被确认后 应该呈现下一个 问题在于 显然 它们都试图同时执行 有没有一种聪明的方法可以同步执行此操作 这是一些简单描述我想要做的事情的
  • UILabel 中的文本未垂直居中

    我使用以下代码创建了一个标签 func setupValueLabel valueLabel numberOfLines 1 valueLabel font UIFont name Avenir Black size 50 valueLab
  • removeItemAtPath 完成

    我正在以这种方式删除路径上的文件 UIPanGestureRecognizer gesture UIPanGestureRecognizer sender UIButton button UIButton gesture view UIPa
  • XCode 7 中的 AWSS3TransferManagerUploadRequest

    我今天升级到 Xcode 7 Swift 2 0 我的项目正在使用 CocoaPods 我正在 POD 文件中导入所有与 AWS 相关的文件 我已经设置了桥接标头 并导入了 Amazon 告诉我的所有文件 在升级到 Swift 2 0 之前
  • 如何在Sprite Kit中实现鼠标关节?

    我已经在 iOS 上用 Cocos2d Box2d 编写了拖放功能的工作实现 我需要将它移植到 Sprite Kit 逻辑非常基本 当用户触摸屏幕时 找到手指下的精灵 在找到的精灵和场景的物理体之间创建鼠标关节 将关节的目标设置为触摸位置
  • cordova插件条码扫描仪打不开扫描

    我的条形码扫描仪插件有问题 我不是天才 我不太了解如何编写网络应用程序 我使用phonegap和cordova 并且尝试制作一个网络应用程序 在单击链接后扫描条形码 我之前已经使用此命令行安装了该插件 cordova plugin add
  • 领域:结果 和列表

    是否可以转换Results
  • 如何将自定义 C 代码放入 SwiftPM 包中?

    我正在尝试将 C 代码打包到 Swift 模块中 我们称之为CModule 一旦我将其放入项目的基本文件夹中 Swift模块 并配置了搜索路径 我可以在 Swift 文件中自动完成工作 并检测错误 警告 问题是 导入时它无法识别该模块 并且

随机推荐

  • Redis 块推送直到列表有空位

    我正在寻找类似的东西BLPUSH该命令将阻塞 直到列表的长度低于指定值max size 目的是防止生产者运行速度快于消费者时列表无限增长 功能与 python 非常相似Queue put https docs python org 3 li
  • 如何使用 Memchached 后端和 Zend Framework 有选择地清除缓存(使用标签或其他选项)

    我们在 Web 项目中使用 Memcached 和 Zend Framework 现在 我们需要使用指定的标签有选择地清理缓存Zend Cache API http framework zend com manual 1 10 en zen
  • 带有工作单元/存储库模式的微风

    我只是想知道我应该如何实施微风EFContextProvider在一个单独的数据层项目中 另外 由于该项目是一个类库而不是 MVC 4 应用程序 我应该如何将其包含到我的项目中 我真的不需要 Breeze NuGet 包中的全部技巧 只需E
  • SymPy 的多彩图

    我试图在 SymPy 中绘制函数 x 2 的图 并希望用线 x 3 y 9 覆盖它 然后在某些点周围画一个圆 我已经用代码完成了上述所有操作 import sympy as sp x sp Symbol x first plot the f
  • 如何配置 Android sdkmanager 命令行工具以使用自定义存储库?

    是否可以配置 Google 的 Android sdkmanager 通过自定义存储库而不是下载依赖项dl google com android repository 背景 我正在公司防火墙后面设置 Android 构建代理 无法直接访问
  • Python:导入模块

    假设我有一个 python 模型fibo py定义如下 Fibonacci numbers module print This is a statement def fib n a b 0 1 while b lt n print b a
  • Wix 安装程序 - 根据属性创建文件夹层次结构

    我在用Wix 3 6 http wixtoolset org 创建一个设置 我仍在不断学习 那里的信息仍然分散 我正在等待我的 Wix 开发人员指南书到达 我目前有一个自定义 UI 对话框 用户可以在其中输入一些应用程序配置 该配置的一部分
  • 创建 IIS 网站的代码

    我需要以编程方式创建一个 IIS 网站 有人可以告诉我执行此操作的代码吗 请不要使用 WMI DirectoryEntry 如果可能的话 当目标是 IIS 7 或更高版本时 有一个API叫做ServerManager http msdn m
  • 为什么创建文件夹后不存在?

    这似乎没有意义 所以我显然做错了什么 DirectoryInfo folder new DirectoryInfo Environment CurrentDirectory Test if folder Exists false folde
  • 当用户向下滚动时显示内容

    您好 请检查此网站 您会看到向下滚动时会自动加载下一个内容 http wallbase net search http wallbase net search 我用谷歌搜索过但找不到它的名字 有例子 教程吗 您可以使用无限滚动 jQuery
  • 添加 NOT LIKE 条件后查询返回的结果太少

    我的 Access 2010 数据库在我稍微更改用户请求的查询时表现得很奇怪 我有一个非常大的表 不要问 查询在其上运 行 然后提供给用户输入表单 不管怎样 今天 一种特殊的形式开始返回的结果比我们预期的要少得多 它通常会返回大约 1200
  • NSURLSession:后台上传然后调用服务api

    我试图使用新的 ios7 后台传输 api 将一些照片上传到服务器 现在发生的是 1 我们将字节上传到s3 2 调用服务api来 完成 上传 我查看了这个文档 似乎背景 NSURLSession 不支持 数据 任务 这是否意味着实际上传完成
  • WCF:在 IErrorHandler 中提供通用的FaultException

    一些上下文 我们有一个自定义 XSD 并使用 WSCF blue 生成 WSDL 和 C 代码 客户端使用ChannelFactory
  • Redux Connect w/ HOC - TypeError:无法设置未定义的属性“props”

    我正在 Next js 中构建快速身份验证高阶组件 但在使用以下代码时遇到了一些问题 import SignIn from components sign in import connect from react redux import
  • iOS - 架构 i386 的 3 个重复符号

    我在理解链接器命令错误时遇到问题 我收到以下信息 duplicate symbol OBJC IVAR XYZAddToDoItemViewController toDoItem in Users Library Developer Xco
  • WindowFromPhysicalPoint 和 WindowFromPoint 之间有什么区别?

    WindowFromPhysicalPoint http msdn microsoft com en us library aa969270 aspx是 Vista 中的新功能 它的文档几乎与WindowFromPoint http msd
  • 如何获取请求Referer路径?

    我需要引用者的路径 我不想要域名 例如 如果引用者是http www google com adsense I want adsense request referer返回一个字符串 但您可以使用Ruby 的 URI 模块 http www
  • Three.js 通过加载模型上的材质名称为材质添加边框

    是否可以在材料周围添加边框 如图所示 我可以通过以下代码设置材质颜色 object traverse function child if child instanceof THREE Mesh child material color se
  • OCUnit 测试在未测试的类中给出错误

    我编写了一个 OCUnit 测试 在 Xcode 3 2 中运行良好 现在在 Xcode 4 中遇到问题 它测试单个静态函数X在班上A 它不调用任何类或函数 库函数之外 唯一需要调用的其他代码是静态构造函数 它初始化两个静态变量 但同样 这
  • init的目的是什么!初始化器失败?

    Apple Swift 编程语言指南提到了 init 的存在 初始化程序 但没有提供任何示例 搜索初始化 在此页面中 https developer apple com library ios documentation swift con