UIPickerView iOS7.1 中未定义的键 NSException

2024-03-16

我在 iOS 7.1 模拟器中遇到了 7.0 中未出现的异常。它似乎是在核心的某个地方处理的,因为它只触发异常引发断点。它不会登录到控制台或崩溃。在 UIPickerView 中滚动选项时会发生这种情况。没有可用的有意义的回溯(直接从 UIApplicationMain 到 objc_exception_throw),但在调试器中检查抛出期间的异常显示:

[<UIPickerView 0xb9a6700> valueForUndefinedKey:]: this class is not key value coding-compliant for the key _mode.

我在我的项目中搜索了mode, setMode:, mode =但我不认为我是设定这一点的人。还有其他人遇到这个吗?我想如果它没有使应用程序崩溃就没关系,但它让我害怕,我宁愿采取行动防止它被抛出。如果我有更多时间,我会尝试在测试项目中隔离此问题并跟进。

Edit:更好的回溯:

         thread #1: tid = 0x10975c, 0x02590909 libc++abi.dylib`__cxa_throw, queue = 'com.apple.main-thread, stop reason = breakpoint 1.2
     frame #0: 0x02590909 libc++abi.dylib`__cxa_throw
     frame #1: 0x01b1d9fc libobjc.A.dylib`objc_exception_throw + 323
     frame #2: 0x020e1fe1 CoreFoundation`-[NSException raise] + 17
     frame #3: 0x017ddc7a Foundation`-[NSObject(NSKeyValueCoding) valueForUndefinedKey:] + 282
     frame #4: 0x0174adfd Foundation`_NSGetUsingKeyValueGetter + 81
     frame #5: 0x0174a437 Foundation`-[NSObject(NSKeyValueCoding) valueForKey:] + 260
     frame #6: 0x0d615dff AccessibilityUtilities`-[NSObject(UIAccessibilitySafeCategory) safeValueForKey:] + 43
     frame #7: 0x1151c1f6 UIKit`-[UIAccessibilityPickerComponent accessibilityTraits] + 398
     frame #8: 0x0d716021 UIAccessibility`-[NSObject(AXPrivCategory) accessibilityAttributeValue:] + 1865
     frame #9: 0x0d70a7d7 UIAccessibility`_copyMultipleAttributeValuesCallback + 409
     frame #10: 0x0d76c537 AXRuntime`_AXXMIGCopyMultipleAttributeValues + 202
     frame #11: 0x0d767e78 AXRuntime`_XCopyMultipleAttributeValues + 473
     frame #12: 0x0d7726b4 AXRuntime`mshMIGPerform + 256
     frame #13: 0x01fcdca5 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 53
     frame #14: 0x01fcd9db CoreFoundation`__CFRunLoopDoSource1 + 523
     frame #15: 0x01ff868c CoreFoundation`__CFRunLoopRun + 2156
     frame #16: 0x01ff79d3 CoreFoundation`CFRunLoopRunSpecific + 467
     frame #17: 0x01ff77eb CoreFoundation`CFRunLoopRunInMode + 123
     frame #18: 0x03fea5ee GraphicsServices`GSEventRunModal + 192
     frame #19: 0x03fea42b GraphicsServices`GSEventRun + 104
     frame #20: 0x007ddf9b UIKit`UIApplicationMain + 1225
     frame #21: 0x0004863d [redacted]`main(argc=1, argv=0xbfffef50) + 141 at main.m:16

就我而言,在 Xcode 6.2 和 iOS 8.2 上,只有模拟器崩溃(但可以安全地继续)。自从_mode不在我们的代码中,因此可以安全地假设存在模拟器错误或配置错误。

现在,我在有问题的 UIPickerView 上使用一个类别来消除烦恼:

#import "UIPickerView+FixCrash.h"

@implementation UIPickerView (FixCrash)

#if TARGET_IPHONE_SIMULATOR
- (id)valueForUndefinedKey:(NSString *)key
{
    return nil;
}
#endif

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

UIPickerView iOS7.1 中未定义的键 NSException 的相关文章

随机推荐

  • 以编程方式设置 Angular 4 复选框

    我见过类似的问题 但我仍然不明白 我有一个组件女巫获取项目列表Array lt id number name string gt 以及 已检查 项目的列表Array
  • 这个编码字符串表示什么?您是如何发现的?

    我正在尝试建立一个产品目录 但我不知道它在做什么 我想看看里面 有人能弄清楚如何打印源代码并告诉我怎么做吗 FZrHbutatkV pXpVF2wwJ1S4YBZzjp0HRjGIOfPrH0 LgGFL5OZac45h e efvf5RH
  • 使用 StateFlow 和分页的 Android MVI 3

    我正在尝试使用状态流和分页 3 来实现 android MVI 架构 但是当我有一个包含分页数据的视图状态时 我感到很困惑 问题是我将视图模型中的视图状态公开为状态流对象 但现在在该视图状态内我有另一个来自分页库的流对象 状态流中可以有一个
  • 如何使用 Meteor 公开 RESTful Web 服务

    您将如何使用 Meteor 创建一个安静的 Web 服务 我想在 Appcelerator 中创建连接到同一后端的应用程序 Meteor 能解决这个问题吗 我在 Meteorpedia 上写了一篇完整的文章 http www meteorp
  • Entity Framework(EF5) 支持 XML 数据类型吗?

    我正在考虑在 SQL Server 2008 R2 中使用 XML 数据类型 同时也将 EF 与 MVC 结合使用 EF5 支持 XML 数据类型吗 如果没有 那么我将不得不选择不同的数据库设计 非常感谢 EF 目前不原生支持 Xml 类型
  • EJB 3.1 API 的 Maven 存储库

    我可以使用什么 Maven 存储库来实现 EJB 3 1 API 依赖项 这种对中央的依赖起了作用
  • 在哪里可以找到 scala.Any 和 scala.AnyRef 的定义?

    我想跳到 Any 的源代码来看看一些方法是如何实现的 但我发现它没有包含在 scala library src 中 AnyRef 也没有包含在其中 但是值类型和 Nothing 都包含在其中 我很好奇 Scala 对象基类型是如何以及在哪里
  • 如何从父对象获取对象的属性值

    我在这个结构中有对象 obj user name jeterson title I am a test 我有一把有价值的钥匙 user name 我试图获得这样的价值 obj key 意义obj user name 它不起作用 只适用于ob
  • WPF 4 多点触控拖放

    我有一个 WPF 4 应用程序 我使用标准实现了拖放DragDrop DoDragDrop方法 但我使用触摸而不是鼠标事件来做到这一点 我的网格 我正在拖动 的 XAML 如下
  • 如果 proxy_pass 响应中存在 etag,则禁用 gzip

    我是 Nginx 新手 如果 proxy pass 返回 ETag 标头 是否有办法禁用 gzip I E gzip on location foo bar proxy pass http server 123 if upstream ht
  • 通过 try() 之类的方法使 R 命令超时

    我正在并行运行大量迭代 某些迭代比其他迭代花费的时间要长得多 例如 100 倍 我想将这些超时 但我不想深入研究函数 称为 fun c 背后的 C 代码来完成繁重的工作 我希望有类似于 try 的东西 但有一个 time out 选项 然后
  • 最新的 OpenGL 教程或 C++ 书籍 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Websphere 中的 NoClassDefFoundError — 存在 JAR

    我有一个简单的 Spring MVC 应用程序 它从 LDAP 服务器查找一些用户详细信息 并使用 JSP 打印出一个简单的 HTML 页面 该应用程序在 Tomcat 6 上运行良好 它使用 Spring LDAP 1 3 1 和 LDA
  • 将变量传递到 CURLOPT_POSTFIELDS C++

    我正在尝试将变量传递到CURLOPT POSTFIELDS 我当前的代码 size t curl write void ptr size t size size t nmemb void stream std string cmd stat
  • 有没有办法询问 iOS 视图的哪个子视图具有第一响应者状态? [复制]

    这个问题在这里已经有答案了 在 Mac OS X 中 您可以这样找到第一响应者 self window firstResponder 在iOS中有什么方法可以做到这一点吗 或者您是否需要枚举子控件并发送isFirstResponder给每一
  • 如何使用 eclipse Nsight 仅使用一个 GPU 调试 CUDA

    我收到错误 所有 cuda 设备均用于显示 在调试时无法使用 使用Ubuntu 有没有什么方法可以使用 Nsight eclipse 仅使用一个 GPU 进行调试 我见过类似的解决方案 sudo 服务 lightdm 停止 杀死 X 但这也
  • 此版本的ChromeDriver仅支持Chrome版本93

    我有一个 Angular 项目 它使用 puppeteer 运行 Karma 偶尔会出现以下错误 11 13 43 E launcher session not created This version of ChromeDriver on
  • 如何简化三次贝塞尔曲线?

    我有一条三次贝塞尔曲线 由许多段组成 左图 它有一些粗糙的曲率 我需要让它像右图一样平滑 这个问题有点像 降噪 我该如何实现呢 有类似的线程here https stackoverflow com questions 3497694 sim
  • 在 C# 中打印到 LPT1

    如何在 C 中使用文件 LPT1 直接打印到点阵打印机 我用 fopen 在 C 上做到了这一点 但我不知道如何在 c 中做到这一点 非常感谢 在 Windows 中将打印机设置为 通用 仅文本 然后打印到它 这是我用来打印到具有自己的编码
  • UIPickerView iOS7.1 中未定义的键 NSException

    我在 iOS 7 1 模拟器中遇到了 7 0 中未出现的异常 它似乎是在核心的某个地方处理的 因为它只触发异常引发断点 它不会登录到控制台或崩溃 在 UIPickerView 中滚动选项时会发生这种情况 没有可用的有意义的回溯 直接从 UI