- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Xcode 13 beta 5 构建之前,应用程序运行良好。
在我们的 View Controller 中的这段 init 代码行中突然出现此错误:
init(dataProvider: DataProvider) {
self.dataProvider = dataProvider
super.init(style: .plain)
dataProvider.delegate = self
}
这段代码在 Xcode 12 中运行良好,现在没有任何更改,它会中断:
'NSInternalInconsistencyException', reason: 'UIViewController ismissing its initial trait collection populated during initialization.This is a serious bug, likely caused by accessing properties ormethods on the view controller before calling a UIViewControllerinitializer. View controller: <UITableViewController: 0x7f7fbd291bb0>'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff203fc8a8 __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007fff2019ebe7 objc_exception_throw + 48
2 Foundation 0x00007fff207501c9 -[NSMutableDictionary(NSMutableDictionary) classForCoder] + 0
3 UIKitCore 0x00007fff248310ed UIViewControllerMissingInitialTraitCollection + 188
4 UIKitCore 0x00007fff24835616 -[UIViewController traitCollection] + 155
5 UIKitCore 0x00007fff24824392 -[UITableViewController dealloc] + 196
6 App Dev 0x000000010e4f5680 $s05AppLaB027MyViewController
C14paymentMethods13selectedIndex5offer8delegateACSaySo16AppPaymentMethodCG_SiAA5Offer_pAA08CheckoutcD8Delegate_pSgtcfc + 368
7 App Dev 0x000000010e4f5726 $s05AppLaB027MyViewController
C14paymentMethods13selectedIndex5offer8delegateACSaySo16AppPaymentMethodCG_SiAA5Offer_pAA08CheckoutcD8Delegate_pSgtcfcTo + 102
8 App Dev 0x000000010e289291 -[CartViewController showPaymentMethodPickerWithPaymentMethods:] + 385
9 App Dev 0x000000010e289055 __59-[CartViewController showPaymentMethodPickerOrEntryForm]_block_invoke + 245
10 App Dev 0x000000010e7075ae $sSo16AppServiceResultVSo7NSArrayCSgSo7NSErrorCSgIeyByyy_ABSaySo16AppPaymentMethodCGSgs5Error_pSgIegygg_TR + 222
11 App Dev 0x000000010e707246 $sSo17AppAccountServiceC05AppLaD0E19fetchPaymentMethods11forListType7refresh09preferredF6Method10completionSo17AppRequestReceipt_pSgAC0fmiJ0O_S2bySo16AppServiceResultV_SaySo010AppPaymentM0CGSgs5Error_pSgtcSgtFyAN_ArTtcfU_ + 630
12 App Dev 0x000000010e707333 $sSo17AppAccountServiceC05AppLaD0E19fetchPaymentMethods11forListType7refresh09preferredF6Method10completionSo17AppRequestReceipt_pSgAC0fmiJ0O_S2bySo16AppServiceResultV_SaySo010AppPaymentM0CGSgs5Error_pSgtcSgtFyAN_ArTtcfU_TA + 35
13 App Dev 0x000000010e580474 $sSo16AppServiceResultVSaySo16AppPaymentMethodCGSgs5Error_pSgIegygg_ABSo7NSArrayCSgSo7NSErrorCSgIeyByyy_TR + 212
14 App Dev 0x000000010e39bcad __79-[AppAccountV3DAO fetchPaymentMethodsRefresh:preferredPaymentMethod:withBlock:]_block_invoke + 45
15 libdispatch.dylib 0x0000000110c18a18 _dispatch_call_block_and_release + 12
16 libdispatch.dylib 0x0000000110c19bfc _dispatch_client_callout + 8
17 libdispatch.dylib 0x0000000110c28366 _dispatch_main_queue_callback_4CF + 1195
18 CoreFoundation 0x00007fff2036a555 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
19 CoreFoundation 0x00007fff20364db2 __CFRunLoopRun + 2772
20 CoreFoundation 0x00007fff20363dfb CFRunLoopRunSpecific + 567
21 GraphicsServices 0x00007fff2cbb5cd3 GSEventRunModal + 139
22 UIKitCore 0x00007fff24fee193 -[UIApplication _run] + 928
23 UIKitCore 0x00007fff24ff2bfb UIApplicationMain + 101
24 App Dev 0x000000010e267120 main + 96
25 dyld 0x0000000110654e1e start_sim + 10
26 ??? 0x0000000000000001 0x0 + 1
27 ??? 0x0000000000000001 0x0 + 1
)
最佳答案
注释掉很多代码后,我开始收到一个新错误:
fatal error :对类“PaymentPickerViewController”使用未实现的初始化程序“init(style:)”
再研究一下行为,似乎我们有一个 objc 初始化扩展。我相信在这个 Xcode 13 中,objc 代码被破坏并且没有“看到”对初始化程序的根调用。
我们原来的初始化代码路径是这样的:
@objc extension PaymentPickerViewController {
convenience init() {
dataProvider = DataProvider()
self.init(dataProvider: dataProvider)
}
}
init(dataProvider: DataProvider) {
self.dataProvider = dataProvider
super.init(style: .plain)
}
该修复明确覆盖了我们想要从 super 中使用的 swift init:
override init(style: UITableView.Style) {
super.init(style: .plain)
self.dataProvider = DataProvider()
}
这会强制 objc 看到正确的 init,然后它就可以工作了。
关于swift - Xcode 13 beta 5 错误 : UIViewController is missing its initial trait collection populated during initialization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69092599/
我在 MongoDb 上有具有以下结构的文档, 我正在将 Mongoose 版本 ^4.8.1 与我的 Node 应用程序一起使用。我为上述文档创建了 3 个模式模型,如下所示, Event.js v
选择查询在 waterline-postgresql 的 .populate() 中不起作用。 Model.find(query).populate(assoc.alias,{select:['fie
我正在创建三个下拉菜单,它工作得很好,但我希望第二个下拉列表出现在第一个的选择上,第三个出现在第二个的选择上如何如果有人可以指导我或给我一个例子,我将不胜感激 PS:第二个下拉列表或表有一个来自第一个
我正在尝试使用 Show 模型中的数据填充()我的 User 模型中的所有订阅。我已经尝试过 .populate('subscriptions.show') 但它对结果没有任何作用。 如果我将订阅设置
我有一个集合,它有一个引用另一个集合的 objectId 的属性。 placeSchema = mongoose.Schema({ name: String, category: [{
我有一个像这样的 Mongoose 模式: var Address = { doorNo:String, city:String, state:String, coun
我有以下带有选择多个属性的下拉菜单,我需要将它们转换为普通下拉菜单,保持其功能: 从此: 对此: 以下是带有绑定(bind)的选择下拉列表: 下拉列表最初是从 foreach
我在 Kotlin 上使用 MongoDB 和 Spring,我希望我的应用程序在启动时填充 MongoDB 集合。 (并在每次启动时清洁它) 我的问题是,如果我正在填充的某些数据有问题,我该如何一一
org.apache.commons.beanutils.BeanUtils: BeanUtils.populate(Object bean, Map properties); Populate th
目前,我正在尝试使用一副纸牌填充 ArrayList,通过使用 for 循环来获取每张纸牌。它并没有完全按照我的预期工作,我希望有人能为我指明正确的方向。 我看到以下错误: System.Argume
我正在使用 MongooseDeepPopulate项目的包。我有 SchemaA、SchemaB、SchemaC、SchemaD。我的 SchemaD、SchemaC 连接到 SchemaB,而 S
我正在尝试更好地掌握 Express.js,并尝试创建一个简单的博客网站。 我的用户模型很简单:用户名、显示名称和一系列帖子。 const userSchema = new Schema({
我尝试了几种不同的方法,但我就是无法让 Mongoose 将 Users 信息填充到 Items 集合中。 文件:users.js var mongoose = require( 'mongoose'
我正在为 Spring Batch 作业编写集成测试。我想在每次测试之前使用存储库填充器将测试数据加载到内存数据库中。 到目前为止,我找到的示例似乎表明存储库填充器只会在上下文初始化时填充一次。这对我
这个问题已经有答案了: Get multiple elements by Id (15 个回答) 已关闭 8 年前。 我的网站中有 2 个下拉菜单,一个适用于用户使用手机时,另一个适用于用户使用桌面时
我正在使用 swift 构建一个 iPhone 应用程序,并且我有一个矩形横幅广告,我正试图展示它。我已经为 iAds 正确设置了我的 Dev 帐户,但广告没有填充到应用程序中。我得到了一个测试广告,
我想用指定的用户查询图像表,但我的代码不起作用。 Image.find().populate('user', { id : '1' }).sort({ updatedAt: 'desc' }).exe
所以我有我的改革对象,我想在验证之前解析我的字符串数据,以便能够使用干式验证 需要(:我的字段)。填充(GT?:0) 为了做到这一点,我使用 populator 属性:membership_fee,填
我有一个程序已经运行良好几个月了。今天早上我一直在尝试在服务器上安装 Postfix,突然网站上出现错误。这是回溯 mod_wsgi (pid=11948): Target WSGI script '
我使用函数.populate() 来获取按类别 分组的equipements,所以我的模型是这样的 var mongoose = require('../config/db'); var Equipe
我是一名优秀的程序员,十分优秀!