ios - 无法从 UITextField 读取 XCode 8 中的数字

标签 ios swift

我正在尝试询问患者的年龄并检查他/她是否已成年。但是,它总是返回 false(参数总是小于 18)!! 这是代码:

var index = 0
    let patAge = Double(txtAge.text!)
    if (txtAge.text?.characters.count == 0){
        index = 0
        while index < medicationMenuItems.count{
            medicationMenuItems[index].medicationName = medicationNames[index]
            index += 1
        }
    } else {
        if (patAge?.isLess(than: 18))!{
            index = 0
            while index < medicationMenuItems.count{
                medicationMenuItems[index].medicationName = medicationNames[index] + ": Adult?"
                index += 1
            }
        }
    }
    tableViewMedications.reloadData()

通常:如何将文本读入 double ?以及如何将计算转换为字符串? 我也在尝试在文本字段中设置文本,但它要么返回错误,要么返回“可选(TextGoesHere)”,它应该只提供“TextGoesHere”:

let temporaryString = String(doubleValue)
txtAge.text = temporaryString

它返回一个错误,我应该给 "String(describing: doubleValue)!!!

有什么想法吗??

最佳答案

有一条评论是,我不确定您将“年龄”转换为 double 的意图是什么。这几乎肯定是一个整数。

how can I read text into doubles?

这有效。

var ageText = "17" 
var ageAsDouble = Double(ageText)

但如果您将年龄作为一个整数来处理,您可能真的想要这个:

let minimumAge = 18
var ageText = 17
var age = Int(age)
if (age! < minimumAge) {
    print("must be older than 18!")
}

And how can I convert calculations to strings??

这有效。

var str = String(ageAsDouble!)
print("printing string value", str)

我绝不是一个敏捷的专家,但您需要了解的是,当涉及可选值时,该值可能存在也可能不存在。例如,如果您尝试将字符串“32f”传递给 Double init,则无法创建 Double。所以如果你这样做:

var ageText = "32f"
var age = Double(ageText)
then do..
print(age!)

肯定会报错,这是因为值为nil。强制可选解包告诉程序“解包这个值,因为我 100% 确定它不是零!”

关于ios - 无法从 UITextField 读取 XCode 8 中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43009590/

相关文章:

ios - 问题理解 NSDateFormatter .date 格式选项?

ios - 如何使用 Swift 在 SpriteKit 中重置 NSUserDefaults 的高分

ios - Swift 如何在临时文件夹中创建复杂的文件夹结构

ios - 在 PHPhotoLibrary 中禁用删除请求确认

ios - Storyboard中 UITextView 的本地化

swift - UIAlertView 在 iOS 7 上崩溃

objective-c - 如何检查项目中是否使用常量

iOS Push Notification 制作证书 Common Name 问题

ios - 如何使用主窗口不旋转但其余窗口旋转的单 View 应用程序模板创建应用程序?

iphone - 获取 iPhone 连接的路由器的 IP 地址