在swift中,如果没有更多的上下文,表达式的类型是不明确的?
你好,我有一个学生班,有一些细节,下面的代码在swift中,如果没有更多的上下文,表达式的类型是不明确的?,swift,optional,Swift,Optional,你好,我有一个学生班,有一些细节,下面的代码 struct Student { let stud_name1: String? let stud_name2: String? var length: Bool { return[stud_name1, stud_name2].joined(separator: " ").count <= 15 } } struct学生{ 让我们来命名1:字符串? 让我们看看你的名字2:字符串? 变量长度:Bool{ r
struct Student {
let stud_name1: String?
let stud_name2: String?
var length: Bool {
return[stud_name1, stud_name2].joined(separator: " ").count <= 15
}
}
struct学生{
让我们来命名1:字符串?
让我们看看你的名字2:字符串?
变量长度:Bool{
return[stud\u name1,stud\u name2]。已联接(分隔符:“”)。计数将其设为结构
struct Student {
let stud_name1: String
let stud_name2: String
var length: Bool {
return[stud_name1, stud_name2].joined(separator: " ").count <= 15
}
}
您正在使值计算过于复杂。此代码执行相同的操作,但效率更高
struct Student {
let stud_name1: String?
let stud_name2: String?
var length: Bool {
let name1len = stud_name1?.length ?? 0
let name2len = stud_name2?.length ?? 0
return name1len + 1 + name2len <= 15
}
}
struct学生{
让我们来命名1:字符串?
让我们看看你的名字2:字符串?
变量长度:Bool{
让name1len=螺柱\u name1?长度??0
设name2len=螺柱\名称2?长度??0
return name1len+1+name2len您好,它是struct,我希望它的属性是可选的。这里有几点注释:1)编号的变量很好地表明您应该使用数组。事实上,您最终使用stud_name1
和stud_name2
。2)击键是免费的;使用它们。3)Swift约定是使用UpperCamelCase
,而不是变量名的snake\u case
。length
会建议该值返回学生的长度(不管这意味着什么)。您所做的更适合于lengthIsValid
[String?]
没有连接函数,只有[String]
有连接函数
struct Student {
let stud_name1: String?
let stud_name2: String?
var length: Bool {
return[stud_name1, stud_name2].compactMap{$0}.joined(separator: " ").count <= 15
}
}
struct Student {
let stud_name1: String?
let stud_name2: String?
var length: Bool {
let name1len = stud_name1?.length ?? 0
let name2len = stud_name2?.length ?? 0
return name1len + 1 + name2len <= 15
}
}