swift - 如何解决:“activityLevel 是一个 Int,表示它们的活跃程度得分 1-10。现在实施。”
问题描述
嗨,伙计们,我尝试解决这个练习:对于大多数应用程序,您需要有一个数据结构来保存有关用户的信息。创建一个包含用户基本信息属性的 User 结构。至少,它应该具有代表用户姓名、年龄、身高、体重和活动水平的属性。您可以通过将 name 设为 String、age 设为 Int、height 和 weight 设为 Double 类型、activityLevel 设为 Int 来表示它们的活跃程度的得分 1-10。立即实施。
但我不明白他什么时候说:activityLevel 是一个 Int,它将代表他们活跃程度的 1-10 分。立即实施。
我不知道这是否正确。
下面贴出我的代码:
struct User {
let name : String
var age : Int
var height : Double
var weight : Double
var activityLevel = [1,2,3,4,5,6,7,8,9,10]
}
解决方案
我认为他们是说您的 activityLevel 是一个 Int,只能是 1-10 的值:
struct User {
let name : String
var age : Int
var height : Double
var weight : Double
var activityLevel : Int
}
然后,当您尝试设置该值时,您需要强制它在正确的范围内:
init?(name: String, age: Int, height: Double, weight: Double, activityLevel: Int){
guard activityLevel > 0 && activityLevel < 11 else { return nil }
self.name = name
self.age = age
self.height = height
self.weight = weight
self.activityLevel = activityLevel
}
推荐阅读
- php - 重建 Github 仓库树结构
- android - 在android中使用json数组值的android地图标记
- node.js - 在 Netlify 构建中使用 lerna 部署应用构建失败
- xml - 如何查询由 json-to-xml 生成的 XML 文档节点
- python - 如何使用另一个数据框创建多个三角形?
- php - 无法在 public_html 目录中上传项目
- java - 如何显示动画中的所有数字?
- flutter - 找不到资产的文件或变体:资产/图像
- amazon-web-services - 我在进行 terragrunt apply 时收到 CIDR 错误
- jenkins - Jenkins Workspace 文件自动消失