在Swift中为变量分配文本字段值

达斯·华盛顿

我正在尝试学习Swift,结果发现它与其他语言的差异比我预期的要大得多...

我只想将用户输入的值存储为变量中的整数。

我的尝试导致以下错误:“致命错误:在展开可选值时意外发现nil”

我已经尝试了多种方法,但似乎无法提出解决方案,我知道必须有一种简单的方法来做到这一点。

var intNumber: Int = 0
@IBOutlet weak var txt_Number: UITextField!

for view in self.view.subviews as [UIView]{
if let txt = view as? UITextField
{
    if let txtData = txt.text where txtData.isEmpty
    {
        // Error Message
    }
    else
    {
        intNumber = Int(txt_Number.text)
    }
}
}

我知道上面的代码是不正确的,但是我认为这是我最近提出的最正确的代码。就展开而言,我似乎丢失了一些东西。我了解解包的原理,但是我尝试过的所有内容都不会编译,或者如果编译成功,则在代码启动时(上面的错误将在按下按钮时启动)而失败,并显示上述错误。

在此先感谢您的帮助!

一些想法:

  1. 确保您的插座已连接至txt_Numbernil如果(a)它是您与IB相连的插座,那么所有这些代码检查都可以确保不必要。(b)在视图完全加载(viewDidLoad即被调用)之前,您没有执行上述代码

    如果插座未连接,您会在左空白处看到一个空点:

    在此处输入图片说明

    如果连接正确,您会在左侧空白处看到一个填充的点:

    在此处输入图片说明

  2. 如果一切都正确连接,则可以执行以下操作:

    guard let txtData = txt_Number.text, let value = Int(txtData) else {
        // report error and then `return`
        return
    }
    
    intNumber = value
    
  3. 如果想花哨的话,可能要确保用户仅输入数字

    • 在中viewDidLoad,指定键盘仅用于十进制数字。

      txt_Number.keyboardType = .NumberPad
      

      或者,您也可以在IB中指定。

    • 为文本字段指定一个委托,只允许他们输入数字值。(基于先前的观点,这似乎是多余的,但并非如此,因为您还必须预期它们会以字符串形式粘贴到文本字段中。)

    参见https://stackoverflow.com/a/26940387/1271826

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何快速为文本字段分配双精度值

来自分类Dev

如何快速为文本字段分配双精度值

来自分类Dev

无法将变量设置为文本字段的值

来自分类Dev

如何强制文本字段仅在Swift中为大写?

来自分类Dev

使用条件语句为依赖于另一个文本字段的文本字段分配值

来自分类Dev

使用条件语句为依赖于另一个文本字段的文本字段分配值

来自分类Dev

如何将文本变量分配给 Visio 2013 中的文本字段?

来自分类Dev

AngularJs + TypeScript:-如何将变量的值分配给文本字段

来自分类Dev

限制设置为较小值的中文本字段的内存分配

来自分类Dev

Swift 文本字段和值验证

来自分类Dev

使用Java脚本将PHP变量设置为HTML文本字段的值

来自分类Dev

在Swift的文本字段中自动辞职并分配第一响应者

来自分类Dev

访问tableView SWIFT中的文本字段

来自分类Dev

文本字段和在Swift中浮动

来自分类Dev

输入文本字段中的提示值

来自分类Dev

在Polymer中获取文本字段的值

来自分类Dev

用户清除WPF中的文本字段时,文本框未将值设置为null

来自分类Dev

如何将“select”下拉列表中的文本值设置为“input”文本字段?

来自分类Dev

隐藏的文本字段将设置为其他“文本字段”值

来自分类Dev

如何检查IBM WCM内容中的RTF文本字段的值为空

来自分类Dev

将提示设置为文本字段中的文本开头

来自分类Dev

检查文本字段是否为空Swift

来自分类Dev

Swift UI:如果文本字段为空,则禁用按钮

来自分类Dev

检查文本字段是否为空Swift

来自分类Dev

Swift 为文本字段阴影代码创建扩展

来自分类Dev

Swift-添加在两个文本字段中捕获的值

来自分类Dev

如何将文本字段的值传递给 Swift3 中的按钮单击函数?

来自分类Dev

在警报控制器隐藏之前检查文本字段中的值 - iOS swift

来自分类Dev

Material-ui文本字段的零值为零

Related 相关文章

  1. 1

    如何快速为文本字段分配双精度值

  2. 2

    如何快速为文本字段分配双精度值

  3. 3

    无法将变量设置为文本字段的值

  4. 4

    如何强制文本字段仅在Swift中为大写?

  5. 5

    使用条件语句为依赖于另一个文本字段的文本字段分配值

  6. 6

    使用条件语句为依赖于另一个文本字段的文本字段分配值

  7. 7

    如何将文本变量分配给 Visio 2013 中的文本字段?

  8. 8

    AngularJs + TypeScript:-如何将变量的值分配给文本字段

  9. 9

    限制设置为较小值的中文本字段的内存分配

  10. 10

    Swift 文本字段和值验证

  11. 11

    使用Java脚本将PHP变量设置为HTML文本字段的值

  12. 12

    在Swift的文本字段中自动辞职并分配第一响应者

  13. 13

    访问tableView SWIFT中的文本字段

  14. 14

    文本字段和在Swift中浮动

  15. 15

    输入文本字段中的提示值

  16. 16

    在Polymer中获取文本字段的值

  17. 17

    用户清除WPF中的文本字段时,文本框未将值设置为null

  18. 18

    如何将“select”下拉列表中的文本值设置为“input”文本字段?

  19. 19

    隐藏的文本字段将设置为其他“文本字段”值

  20. 20

    如何检查IBM WCM内容中的RTF文本字段的值为空

  21. 21

    将提示设置为文本字段中的文本开头

  22. 22

    检查文本字段是否为空Swift

  23. 23

    Swift UI:如果文本字段为空,则禁用按钮

  24. 24

    检查文本字段是否为空Swift

  25. 25

    Swift 为文本字段阴影代码创建扩展

  26. 26

    Swift-添加在两个文本字段中捕获的值

  27. 27

    如何将文本字段的值传递给 Swift3 中的按钮单击函数?

  28. 28

    在警报控制器隐藏之前检查文本字段中的值 - iOS swift

  29. 29

    Material-ui文本字段的零值为零

热门标签

归档