当前位置: 首页 > 面试题库 >

iOS 8 Beta Today扩展小部件未在Swift应用中显示?

轩辕季同
2023-03-14
问题内容

今天,扩展程序未在Swift应用程序中显示,但在Objective C应用程序中显示。

我要做的就是在故事板上添加一个UILabel,其中包含一些内容,用于快速,客观的c应用程序。

它是在我运行Objective C应用程序时显示的,而在我执行Swift应用程序时却没有显示。

我在这里想念什么吗?


问题答案:

您可以注释掉提供的init方法。

//    init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
//        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
//        // Custom initializathtml" target="_blank">ion
//    }

这将使您的扩展程序正常运行。这个问题似乎是由Swift和Objective-C之间的初始化行为不同引起的。删除上述初始化器将继承超类的所有必需初始化器。

在Apple开发人员论坛上找到了该解决方案,以供您参考。

注意:Clean and Build执行此操作后,您可能需要对项目进行更改才能生效

该扩展程序实际上是 崩溃的 ,并显示如下错误:

fatal error: use of unimplemented initializer 'init(coder:)' for class 'com_blabla_blabla_MyTodayExtension.TodayViewController'

这表明另一个选择是实现:

init(coder aDecoder: NSCoder!) {
    super.init(coder: aDecoder)
    // Custom initialization here
}

如果您想保留执行自定义初始化的能力。



 类似资料:
  • jQuery UI 的部件库(Widget Factory)使得创建小部件变得更加容易,这些小部件扩展了已有小部件的功能。这样子您就能在已有的基础上创建出功能强大的小部件,也可以在已有的小部件功能上做细微的调整。 注意:在学习本章节之前,需要明白什么是部件库(Widget Factory),及它是怎么工作的。如果您对这些知识还不熟悉,那么请先查看如何使用部件库(Widget Factory)章节。

  • 使用扩展可添加现有类,结构或枚举类型的功能。 使用扩展添加类型功能,但扩展无法覆盖功能。 Swift扩展功能 - 添加计算属性和计算类型属性 定义实例和类型方法。 提供新的初始化程序。 定义下标 定义和使用新的嵌套类型 使现有类型符合协议 使用关键字声明扩展名,语法如下 - 类型也可以添加扩展,使其成为协议标准,它的语法类似于类或结构。 计算属性 使用扩展,也可以扩展计算的“实例”和“类型”属性。

  • 扩展就是向一个已有的类、结构体或枚举类型添加新功能。 扩展可以对一个类型添加新的功能,但是不能重写已有的功能。 Swift 中的扩展可以: 添加计算型属性和计算型静态属性 定义实例方法和类型方法 提供新的构造器 定义下标 定义和使用新的嵌套类型 使一个已有类型符合某个协议 语法 扩展声明使用关键字 extension: extension SomeType { // 加到SomeType

  • 使用 Swift 扩展 Weex Swift和Objective-C 混编 参考完整 例子 使用 Swift 进行 module 扩展 因为 module 暴露 method 是通过Objective-C宏来做的,调用的时候是通过反射,所以Swift扩展 module 通过extensionObjective-C的类。 新建 WXSwiftTestModule.h/m 和 WXSwiftTestM

  • 我特别想知道: 扩展名驻留在哪里(文件和命名约定)? 什么是扩展语法? 几个简单的常用示例是什么?

  • 我是Yii2新手,我需要修改Yii2中kartiks FileInput小部件的registerassebundle()函数。我意识到这是在供应商文件夹中,所以我想做一个覆盖。仅供参考,这是使用高级模板。有人能告诉我为什么我不能超越或者我做错了什么吗?是的,我只是没有拿起这个文件/没有阻塞/没有错误/什么都没有,只是继续它的快乐方式,并将我的页面呈现为正常。 在common\components中