运行我的第一个 iOS 应用程序时出现几个错误

Posted

技术标签:

【中文标题】运行我的第一个 iOS 应用程序时出现几个错误【英文标题】:Several errors when running my first iOS app 【发布时间】:2015-04-21 17:02:42 【问题描述】:

我最初可以运行应用程序(没有可见错误),但是当我在 ageBox 区域中输入一个数字并按下 getAge 按钮时,我收到了几个错误。

代码如下:

import UIKit

class ViewController: UIViewController 


    @IBOutlet var ageBox: UITextField!


    @IBAction func getAge(sender: AnyObject) 

        println(ageBox.text)
    


    @IBOutlet var answerLabel: UILabel!

    override func viewDidLoad() 
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    

    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    


这是我得到的错误:

2015-04-21 10:36:24.183 猫年[5284:2484424] 找不到键盘 支持类型 4 的键盘 iPhone-PortraitChoco-NumberPad; 使用 2705787216_PortraitChoco_iPhone-Simple-Pad_Default

2015-04-21 10:36:25.826 Cat Years[5284:2484424] 找不到键盘 支持类型 4 的键盘 iPhone-PortraitChoco-NumberPad; 使用 2705787216_PortraitChoco_iPhone-Simple-Pad_Default

5

2015-04-21 10:36:27.067 猫年[5284:2484424] -[Cat_Years.ViewController getAgeButton:]:无法识别的选择器发送到实例 0x7fc881e287f0

2015-04-21 10:36:27.078 猫年[5284:2484424] *** 终止应用程序 由于未捕获的异常“NSInvalidArgumentException”,原因: '-[Cat_Years.ViewController getAgeButton:]: 发送了无法识别的选择器 到实例 0x7fc881e287f0'

*** 首先抛出调用栈:

(

0 CoreFoundation 0x00000001044c5c65 __exceptionPreprocess + 165

1 libobjc.A.dylib 0x0000000106030bb7 objc_exception_throw + 45

2 核心基础 0x00000001044cd0ad -[NSObject(NSObject) 不识别选择器:] + 205

3 CoreFoundation 0x000000010442313c 转发 + 988

4 核心基础 0x0000000104422cd8 _CF_forwarding_prep_0 + 120

5 UIKit 0x0000000104d65da2 -[UIApplication sendAction:to:from:forEvent:] + 75

6 UIKit 0x0000000104e7754a -[UIControl _sendActionsForEvents:withEvent:] + 467

7 UIKit 0x0000000104e76919 -[UIControl touchesEnded:withEvent:] + 522

8 UIKit 0x0000000104db2998 -[UIWindow _sendTouchesForEvent:] + 735

9 UIKit 0x0000000104db32c2 -[UIWindow sendEvent:] + 682

10 UIKit 0x0000000104d79581 -[UIApplication sendEvent:] + 246

11 UIKit 0x0000000104d86d1c _UIApplicationHandleEventFromQueueEvent + 18265

12 UIKit 0x0000000104d615dc _UIApplicationHandleEventQueue + 2066

13 核心基础 0x00000001043f9431 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 17

14 核心基础 0x00000001043ef2fd __CFRunLoopDoSources0 + 269

15 核心基础 0x00000001043ee934 __CFRunLoopRun + 868

16 CoreFoundation 0x00000001043ee366 CFRunLoopRunSpecific + 470

17 图形服务 0x00000001084aca3e GSEventRunModal + 161

18 UIKit 0x0000000104d64900 UIApplicationMain + 1282

19 猫年 0x00000001042c8007 主要 + 135

20 libdyld.dylib 0x0000000106788145 开始 + 1

)

libc++abi.dylib:以未捕获的类型异常终止 NSException

有什么想法吗?

【问题讨论】:

如果您收到错误 SIGABRT 可能意味着您的连接不正确。 (从故事板到代码)。只需查找有关解决此问题的任何问题,您就可以开始了。 【参考方案1】:

将您的代码复制到一个新项目。添加了文本框、开关和标签。做了连接。使用“添加缺少的约束”添加约束。这一切都奏效了(无需修改您的视图控制器代码)。这是链接:

Project

我能想到的可能性(基于我开始时犯的错误):(1)在编辑情节提要时更改连接我发现已删除的控件不会在 xml 文件中自动删除。建议您在连接编辑器中查看是否有您删除的控件。 (2) 做一个“干净”以确保。

祝你好运

【讨论】:

非常有价值的意见。谢谢!【参考方案2】:

对于键盘错误,试试这个:

供参考:见this

   ios Simulator -> Hardware -> Keyboard -> Connect Hardware Keyboard

这样条目被取消选中,然后软件键盘将再次显示。

对于 NSInvalidArgumentException',试试这个:

    @IBAction func getAge(sender: UIButton) 
println(ageBox.text)

【讨论】:

谢谢你,但没有骰子。 同样的错误(我会粘贴它,但它太长而且***不允许它)。

以上是关于运行我的第一个 iOS 应用程序时出现几个错误的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 python 3 运行 Spark 时出现几个错误

每当我调试时出现几个错误

颤振:第一次运行我的颤振应用程序时出现 gradle 错误

尝试构建基于简单 UITabBarController 的 iOS 应用程序时出现运行时错误

React Native - 在真实设备上构建时出现 XCode 错误?

无法找到最新的可用模拟器运行时 - 在 iOS 上构建 RN 应用程序时出现 Image.xcassets