UIViewController 子类所需的初始值设定项

2023-11-23

我一直在尝试遵循有关创建容器视图控制器的教程。它是在 Objective-C 中。我想将其转换为 Swift。我在这里发现了一些相同的问题,但我没有从中得到太多。

这是代码。

import UIKit

class ContainerViewController: UIViewController { // Class "ContainerViewController" has no initializers - That I know why.

    // 'required' initializer 'init(coder:)' must be provided by a subclass of UIViewController

    var currentDetailViewController: UIViewController

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

}

我已经尝试执行这两个错误所说的操作,但仍然不起作用。


问题是:如果您声明任何存储的属性without初始值,您必须实现自己的初始化程序来初始化它们。看这个文件.

像这样:

var currentDetailViewController: UIViewController

override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
    currentDetailViewController = UIViewController()
    super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
}

convenience override init() {
    self.init(nibName: nil, bundle: nil)
}

required init(coder aDecoder: NSCoder) {
    currentDetailViewController = UIViewController()
    super.init(coder:aDecoder)
}

但是,我认为这是not你想要什么。

正确的解决方案取决于您初始化的位置currentDetailViewController.

如果你总是在以下时间内初始化它viewDidLoad,那么你可以将其声明为“隐式解开可选”

var currentDetailViewController: UIViewController!

override viewDidLoad() {
    super.viewDidLoad()
    self.currentDetailViewController = DetailViewController()
}

否则,如果currentDetailViewController can be nil,你应该将其声明为“选修的”

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

UIViewController 子类所需的初始值设定项 的相关文章

  • 如何使用 AppDelegate 在视图之间共享 iAd 横幅

    我希望在我的应用程序中实现 iAd 到目前为止 我已经成功地使用下面的方法让它们在每个视图中正确显示 关闭 应用程序委托 import UIKit import iAd UIApplicationMain class AppDelegate
  • Swift:二元运算符“==”不能应用于“协议”类型的操作数

    我有一个协议 protocol ProfileManagerDelegete func dataHaveUpdated type ReturnType 并创建一个协议数组 并添加 删除侦听器 var listeners ProfileMan
  • 如何在 Objective C 中使用 swift 文件

    我想在 Objective C 代码中使用我的 Swift 文件 我找到了不同的链接 说明了如何操作 我的项目名称是 测试项目 我将 import Test Project Swift h 导入到我的 m 文件中 以在 Objective
  • 更改 UIImageView 的位置

    我怎样才能为 UIImageView 做一个简单的位置改变 假设当前坐标是 x 20 和 y 30 我想将其移至 x 100 和 y 100 可以制作运动动画吗 你需要改变它的CGFrameUIImageView就像这样 imageView
  • React-native iOS 不显示图像(pod 问题)

    我正在我的react native应用程序中安装一个包 具体来说 它是来自react navigation的createMaterialTopTabNavigator 但安装成功后 出现崩溃 错误 react navigation mate
  • 自定义相机视图 Swift iOS 8 iPhone Xcode 6.1

    我想在 iPhone 的 View 中使用相机 我不想使用典型的全屏相机视图 而是我自己的 例如 我想在屏幕中间有一个 200x200 的正方形 并且有一个相机预览 在这个方块下面我想要一个拍照按钮 怎么做 我是新手 速度很快 你会想要使用
  • Swift 2.0:协议扩展:具有相同函数签名的两个协议编译错误

    鉴于这两个协议及其扩展 protocol FirstDelegate func someFunc protocol SecondDelegate func someFunc extension FirstDelegate func some
  • 将 iCloud 存储迁移到本地存储并确保每次应用程序启动时数据都在那里

    基于这里的问题 将 iCloud 数据迁移到本地存储并阻止 iCloud 继续响应 https stackoverflow com questions 25186787 migrate icloud data to local store
  • 如何通过 Google Sheets API 进行基本写作?

    在使用 Swift 学习 Google Sheets API 的过程中 我想将单个范围写入电子表格 调查iOS 快速入门指南 https developers google com sheets quickstart ios ver swi
  • 将更新的图像保存到 PhotoKit 时缺少图像元数据

    我在更新图像的元数据并将其保存回照片库时遇到问题 一切works除了更改后的图像元数据丢失了之前存在的条目 并且我在操作图像或执行照片库更改块时没有收到任何错误 另外 在写回图像之前的字典看起来就像原始字典加上我在调试器中的字典 我的问题是
  • 如何在 Swift 3 iOS 10 中创建自定义相册

    这听起来可能是重复的 但经过搜索 我仍然没有得到 Swift 3 的预期答案 当我尝试使用添加资产时为资产创建占位符后addAssets 方法 Xcode 建议我将 assetPlacehoder 转换为 FastEnumeration 类
  • UIButton 和滑动手势

    我有一个UIView有两个UIButton每侧 左侧和右侧 都有 s 和UIImageView在中心 点击任一按钮都会改变UIImageView那行得通 我想要滑动的能力UIView以及它改变UIImageView 现在 您必须在UIIma
  • 添加 NSCoding 作为扩展

    我想扩展一个框架类 我不想直接编辑源代码 并使其符合NSCoding 基本上 这是我所处情况的简化 Can t be edited class Car NSObject var color String Can be edited exte
  • 在自定义对象中映射 JSON 对象

    我一直在搜索是否可以获取 JSON 字典或数组并将其直接映射到属性与 JSON 标签同名的自定义对象中 但我没有找到任何相关信息 我一直在手动解析 JSON 字典 如下所示 id deserializedObj nil id jsonObj
  • 反应本机套接字 io 没有从客户端发出事件

    尝试将socket io client与react native 现在是ios 一起使用 到目前为止 连接 从客户端接收服务器端事件似乎工作正常 但是我似乎无法从客户端发出任何事件 Client var socket io http loc
  • iOS UIView子类,将透明文本绘制到背景

    我想将文本绘制到 UIView 上的子类上 以便文本从形状中切出 并且视图后面的背景显示出来 就像在 OSX Mavericks 徽标中找到的那样here http www n3rdabl3 co uk wp content uploads
  • 图像高斯模糊 - iOS 8

    我有一个移动的背景图像 我想模糊它的底部 我would只用 Photoshop 就能做到 但由于图像会移动 效果不太好 这就是我的意思 看图片底部 基本上就像底座对 iPhone 的影响一样 我使用的是 iOS 8 但不是 Swift 我根
  • Xcode 6.1“Xcode 调试器中内置的 Swift REPL 可以检查和操作正在运行的应用程序”不起作用

    对于 Xcode 6 1 更新点之一是 Xcode 调试器内置的 Swift REPL 可以检查和操作 你的跑步应用程序 我创建了空项目 在 viewDidLoad 中设置了一个断点 当应用程序在断点处停止时 我在 Xcode 控制台中输入
  • 如何在松开按钮后立即看到新的视频层?

    我有一个应用程序 用户可以按住按钮来拍摄视频 然而 当他们这样做时 带有视频播放的新图层不会立即出现 相反 有一个非常短的延迟 在用户松开按钮后 您可以看到相机仍然显示相机所看到的内容 延迟结束后 视频立即显示并开始播放 但是 我怎样才能使
  • Xcode - 调试视图层次结构

    我正在尝试调试应用程序的视图层次结构 Xcode 窗口的左侧窗格中出现了一个紫色的小方块 请参见屏幕截图 知道这个问题可能是什么吗 好吧 我找到了这个问题的根源 这是一个约束问题

随机推荐

  • 更改部署目标后无法再将应用程序模块导入到单元测试中

    为了在我的快速单元测试中对我的主应用程序目标的公共类进行单元测试 我必须在我的测试中导入我的主应用程序模块 如下所示 import MyAppModuleName 在我将部署目标从 7 0 更改为 8 4 之前 这一切都很好 现在构建和运行
  • 取出特定命名空间的所有类

    有没有办法从特定名称空间获取对象 也许与System Reflections 我想从类型中获取所有对象ITestType在命名空间中Test TestTypes作为对象 以便我有一个实例列表TestType1 TestType2 TestT
  • iOS 获取键盘窗口

    所以在 iOS 7 中我总是得到这样的键盘窗口 UIView keyboardView UIWindow tempWindow Because we cant get access to the UIKeyboard throught th
  • Steam Web API 获取 CS:GO 库存

    好吧 所以我一直在互联网上寻找这个 我发现当你想获得某人的蒸汽库存时 你可以使用这个 http api steampowered com IEconItems appid GetPlayerItems v0001 key apikey st
  • 使用 Intellij 13.1.3 的 Android 渲染问题

    在 IntelliJ 13 1 3 中查看 Android 应用程序中 唯一 活动的预览时 出现以下错误 渲染问题 此版本的渲染库比您的 IntelliJ IDEA 版本更新 请更新 IntelliJ IDEA 对我哪里出错有什么想法吗 这
  • 外部触发 Raphael 事件

    我的应用程序使用 Rapha l 将一组对象拖放到页面上 每个对象都有一个click处理程序绑定 使用通过 JSON 加载时附加到对象的数据 一切正常 我现在尝试使用 Cucumber 添加一些测试覆盖率 是的 我知道我应该首先构建测试 我
  • 避免在 Android 中方向改变时使用 asynctask 重新加载 Activity

    在android中 当用户改变方向时 如何避免在活动中使用asynctask类重新加载活动 有人可以举个例子吗 请关闭配置更改作为最后的手段 你的应用程序must发生这种情况时可以正常工作 如果您关闭方向配置更改 因为它会中断 您的应用程序
  • Angular 2 路由器 - 命名出口

    文档不是很好 但我试图在同一页面 路由上有不同的路由器出口 我的 app component html 中有这个
  • mvccontrib 测试助手并验证 http post 路由和参数

    在我的 Asp net MVC 应用程序中 我在控制器上有两种方法 一种用于用户第一次到达视图时 另一种用于用户在所述视图上提交表单时 public ActionResult Foo AcceptVerbs HttpVerbs Post p
  • 通过标签名称获取多个元素并在循环中检查元素标签以回显它

    这是有效的代码示例 doc gt loadHTML article header imgs doc gt getElementsByTagName img foreach imgs as img imgs取自 doc带有标签名称的元素img
  • 为什么某些 .onion 站点会收到“SOCKS 连接失败。规则集不允许连接”的信息?

    我正在尝试使用 Node 和ocks5 https 客户端 由于某种原因 某些 Tor 隐藏服务 onion 站点返回时出现连接错误 例如 连接到 DuckDuckGo 3g2upl4pq6kufc4m onion 工作并返回 HTML 但
  • 将 float[] 转换为 byte[] 再次转换为 float[]

    所以我在这里想做的是得到一个float 将其转换为byte 将其作为数据报包通过网络发送 然后将其转换回byte 在接收终端 现在我知道我可以转换float to byte 通过使用getBytes 方法 但我不知道如何反转转换 我想你想利
  • 将模板化基类转换运算符引入派生范围

    我有一个基类 它定义了约束模板化转换运算符 struct base template
  • 为什么 .NET 字符串是不可变的? [复制]

    这个问题在这里已经有答案了 众所周知 String是不可变的 String不可变的原因是什么以及引入字符串生成器类是可变的 不可变类型的实例本质上是线程安全的 因为没有线程可以修改它 所以消除了线程以干扰另一个线程的方式修改它的风险 引用本
  • Maven EJB 打包及依赖库

    我面临一个问题 如何使用 JBoss7 应用程序服务器的简单 WAR 和 EJB3 模块正确打包我的企业 EAR 应用程序 问题是 EJB 模块正在使用 XML RPC 库 来自 Apache 但我仍然得到NoDefClassFound 此
  • 浏览器中的 3D 可视化

    我正在寻找网络浏览器中 3D 可视化的解决方案 现在我只需要对这个主题进行研究 即我需要知道存在多少种解决方案 其中哪些是好的 为什么 Thanks 网络上 3D 的简要概述 VRML 一种用于 3D 模型的 HTML 风格标记语言 被认为
  • Delphi XE2 TurboPower 组件状态

    TurboPower 组件是最流行的商业组件库之一 并且在开源后仍然被许多 Delphi 开发人员使用 我不想单独询问 而是想问一个关于每个组件的 XE2 兼容性状态的问题 主要有 TurboPower Abbrvia AsyncPro 和
  • 通过对组内的列进行排序来重新排列数据框

    执行以下任务的好方法是什么 我有一个数据框 例如 v2 lt c 4 5 2 5 3 5 5 5 7 5 6 5 2 5 1 5 3 5 v1 lt c 2 2 3 2 1 2 4 2 2 2 3 2 2 2 1 2 5 2 lvl lt
  • 如何实现保存/加载功能?

    我正在尝试为 Windows 窗体应用程序实现加载 保存功能 我有以下组件 树视图 几个列表视图 几个文本框 几个对象 包含一个大字典列表 我想实现一种将所有这些保存到文件中的方法 并稍后恢复 加载它 最好的方法是什么 我认为 XML 序列
  • UIViewController 子类所需的初始值设定项

    我一直在尝试遵循有关创建容器视图控制器的教程 它是在 Objective C 中 我想将其转换为 Swift 我在这里发现了一些相同的问题 但我没有从中得到太多 这是代码 import UIKit class ContainerViewCo