Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.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 ';Int';与';字符串';-敏捷的_Ios_Xcode_Swift_Datepicker - Fatal编程技术网

Ios ';Int';与';字符串';-敏捷的

Ios ';Int';与';字符串';-敏捷的,ios,xcode,swift,datepicker,Ios,Xcode,Swift,Datepicker,在这个函数中,我试图从UIDatePicker获取数据,并从中减去5。例如,如果在UIDatePicker中说上午7:15,那么它将从小时数中减去凌晨2:15。修改后的代码在我给标签的那一行不起作用,错误是,'Int'与'String'不相同。。工作代码是原始版本,无论我在日期选择器中输入什么,它都会工作,它会显示用户选择的日期,因此,如果上午7:15,它将显示为上午7:15,而不减去任何内容 与故事板连接的日期选择器 @IBOutlet weak var theDatePicker: UIDa

在这个函数中,我试图从UIDatePicker获取数据,并从中减去5。例如,如果在UIDatePicker中说上午7:15,那么它将从小时数中减去凌晨2:15。修改后的代码在我给标签的那一行不起作用,错误是,'Int'与'String'不相同。。工作代码是原始版本,无论我在日期选择器中输入什么,它都会工作,它会显示用户选择的日期,因此,如果上午7:15,它将显示为上午7:15,而不减去任何内容

与故事板连接的日期选择器

@IBOutlet weak var theDatePicker: UIDatePicker!
没有.toInt()的原始代码

修改代码

func handler(sender: UIDatePicker) {
        var timeFormatter = NSDateFormatter()
        timeFormatter.timeStyle = NSDateFormatterStyle.ShortStyle

        var intDate = timeFormatter.stringFromDate(theDatePicker.date).toInt()

        hoursLeftLabel.text = intDate

    }
如果您有任何问题或需要澄清,请在下面进行评论

尝试使用:

 hoursLeftLabel.text = "\(intDate)"
这应该有效,因为您创建了一个包含int日期的字符串

错误Int与string不相同意味着在需要字符串的位置传递Int。错误可能更精确,比如说错误的类型或类似的东西

编辑: 我建议您进行如下日期计算:

let newDate = theDatePicker.date.dateByAddingTimeInterval(-5*60*60) //-5 Hours
//now you can display your date like this:
hoursLeftLabel.text = timeFormatter.stringFromDate(newDate)

编译器错误消息是否尽可能清楚?将
Int
赋值给
String
属性,然后如何减去一个数字;5从UIDatePicker?提示:DatePicker.date代表什么?如何修改此值以表示提前5小时的日期提示#2:.@MartinR它表示当时日期选择器中的任何内容。日期/时间是如何表示的?我如何使它成为UIDatePicker-现在的时间是“(startHours):(startMinutes):(startSeconds)”看看NSDateComponents
let newDate = theDatePicker.date.dateByAddingTimeInterval(-5*60*60) //-5 Hours
//now you can display your date like this:
hoursLeftLabel.text = timeFormatter.stringFromDate(newDate)