• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 尝试将 UITextField 文本转换为 Int Xcode 7 时出现错误

[复制链接]
菜鸟教程小白 发表于 2022-12-12 15:51:54 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我是编程新手,在完成了一些在线教程后,我决定使用 Xcode 7 制作自己的应用程序,以便能够在我的 iPhone 上运行我的应用程序。但是,当我尝试从文本字段中获取输入数据并将其放入 var 时,它会给我一个错误。我尝试使用以下内容:

var initialChips = 0
var initialBlind = 0

@IBOutlet weak var txtBlind: UITextField!
@IBOutlet weak var txtChips: UITextField!
@IBOutlet weak var doneBtn: UIBarButtonItem!

@IBAction func doneBtn(sender: AnyObject) {

    let initialChips:Int? = Int(txtChips.text)
    let initialBlind:Int? = Int(txtBlind.text)
}

Xcode 会要求输入一个“!”在“.text”之后,但在这样做之后它给了我一个警告:“初始化不可变值'initialChips'(或'initialBlind'从未使用过:考虑替换为'_'或删除它”。

如何为我的 var 设置值?



Best Answer-推荐答案


问题是 let initialChips:Int? = Int(txtChips.text) 生成一个名为 initialChips 的新变量(与类中的变量不同)。 letvar 的区别在于 let 是不可变的,而 var 不是。你应该这样做:

initialChips = Int(txtChips.text)

UITextField 中的整数分配给您的类变量,而不是声明一个新的不可变变量(同名)并且不对其进行任何操作。

当然,initialBlind

也是如此

编辑:

尝试以下方法:

@IBAction func doneBtn(sender: AnyObject) {

    if let initialChips = Int(txtChips.text!) {
        self.initialChips = initialChips
    }else {
        self.initialChips = 0
    }

    if let initialBind = Int(txtBind.text!) {
        self.initialBind = initialBind
    }else {
        self.initialBind = 0
    }
}

关于ios - 尝试将 UITextField 文本转换为 Int Xcode 7 时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31506824/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap