Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在swift上读取数组和枚举数据_Ios_Swift_Enums_Enumeration - Fatal编程技术网

Ios 如何在swift上读取数组和枚举数据

Ios 如何在swift上读取数组和枚举数据,ios,swift,enums,enumeration,Ios,Swift,Enums,Enumeration,如何在swift上读取这三类数据 我想把这三个变量分配给标签。我该怎么做? [这是第一次,使用swift编码,我是一名学习者,我是IOS移动开发的初学者] 学生:斯威夫特 电话号码 多臂飞镖 像这样插入数据?对吗 我想这样读//错误 如果你想参考第一个电话号码,那么你需要 label.text = student.numbers.first?.number 我可以提出一些其他改进建议: 在DOB结构中使用隐式展开的选项是没有必要的-初始化器确保它们将具有值 为什么不简单地用一个日期作为出生日期

如何在swift上读取这三类数据 我想把这三个变量分配给标签。我该怎么做? [这是第一次,使用swift编码,我是一名学习者,我是IOS移动开发的初学者]

学生:斯威夫特

电话号码

多臂飞镖

像这样插入数据?对吗

我想这样读//错误


如果你想参考第一个电话号码,那么你需要

label.text = student.numbers.first?.number
我可以提出一些其他改进建议:

在DOB结构中使用隐式展开的选项是没有必要的-初始化器确保它们将具有值 为什么不简单地用一个日期作为出生日期呢? 类似地,在结构中为您的电话号码包装字符串似乎是不必要的。 Swift样式对结构和类使用大写的驼峰大小写,而不是_,所以应该是PhoneNumber 枚举案例应以小写字母开头 您可以为Student使用结构而不是类—您使用的是let属性,因此您已经具有不变性。结构可以自动生成初始化器
label.text=numbers.number,这应该是student.numbers吗?要访问您需要的第一个电话号码student.numbers.first?.numberwhy-2?isn;这不是个好问题吗?为什么?你可以通过描述错误是什么来改进你的问题,而不是简单地说有错误。我没有否决投票。而且,这不会引起您的问题,但是在DOB结构中使用隐式展开选项是没有必要的,为什么不简单地使用日期作为出生日期呢?类似地,在结构中为您的电话号码包装字符串似乎是不必要的。Swift样式对结构和类使用大写的驼峰大小写,而不是u,所以应该是这样PhoneNumber@DarwinHarianto否。错误消息无法将“[PhoneNumbers]”类型的值分配给“String?”类型。电话号码的选项可以是数字。joinedseparator:“,”非常感谢您的建议。我对PhoneNumber使用了一个数组,因为用户有多个号码。如何使用电话号码数组/@JoakimDanielson如何使用joinedseparator@BhanukaIsuru为了澄清我之前的评论,当您想将所有电话号码作为字符串获取时,请使用join
import Foundation
    struct phone_number {
        var number:String!
    }
import Foundation

struct DOB {
    let year:Int!
    let month:Int!
    let day:Int!
}
 let student1 = Student(
             numbers: [phone_number(number: "0773024962")],
             bday: DOB(year:1996,month:01,day:13),
             gender: Gender.Male)
 func setStudent(student: Student){
         label.text = numbers.number
         label.text = student.bday
          label.text = student.gender
     }
label.text = student.numbers.first?.number
struct Student {
    let numbers: [String] 
    let bday: Date
    let gender: Gender
}

enum Gender {
    case male
    case female
    case unspecified
}

var dc = DateComponents()

dc.setValue(13, for: .day)
dc.setValue(1, for: .month)
dc.setValue(1996, for: .year)
dc.timeZone = TimeZone(secondsFromGMT: 0)
let dob = Calendar.autoupdatingCurrent.date(from: dc)! 
// You could also use a DateFormatter to parse DOB from a string
let student1 = Student(numbers:["0773024962"], DOB:dob, gender:.male)