Nano Hash - криптовалюты, майнинг, программирование

Как я могу получить текущее время в Swift (Xcode11.1)

Я сделал простое приложение для будильника. В Swift4 или когда у Swift появилась основная раскадровка, я могу получить текущее время, используя dateformatter. Но теперь у меня есть Xcode (v.11.1), и я не могу использовать dateformatter. мой код очень прост, и я новичок. если бы я написал код таким образом, у меня было бы 6 проблем.

Последовательные объявления в строке должны быть разделены символом ';'

Ожидается '(' в списке аргументов объявления функции

Ожидается '{' в теле объявления функции

Ожидаемое ключевое слово func в объявлении метода экземпляра

Ожидаемая декларация

Недопустимое повторное объявление 'dateFormatter()'

Я знаю, что это будет очень простая проблема для вас. Я ищу в Google, документы даже складываются, но я не могу найти правильный способ решить эту проблему.

import SwiftUI
import Foundation


struct Alarm_view: View {

let time = Date()
let timeFormatter = DateFormatter()
timeFormatter.dateFormat = "HH:ss"
let stringDate = dateFormatter.string(from: time)


@State var selecttimes = Date()
@State var sound = 1
@State var currenttimes = NSDate()
@State var currenttimetext = Date()
@State var timetext = Date()


var body: some View {
    VStack {
        NavigationView{
            Form {
                Section {
                    DatePicker(selection: $selecttimes,displayedComponents: .hourAndMinute, label: { Text("tamest") })
                    Picker(selection: $sound, label: Text("alarm")) {
                        /*@START_MENU_TOKEN@*/Text("1").tag(1)/*@END_MENU_TOKEN@*/
                        /*@START_MENU_TOKEN@*/Text("2").tag(2)/*@END_MENU_TOKEN@*/
                        Text("3").tag(3)
                    }
                }
            }.navigationBarTitle(Text("alarm set"))
        }
        VStack {
            Button("start") {
                self.timetext = self.selecttimes


            }.foregroundColor(Color.black).offset(y:-5)
            Button(action: /*@START_MENU_TOKEN@*/{}/*@END_MENU_TOKEN@*/) {
            Text("stop")
                .foregroundColor(Color.red)
        }
        }.offset(y: -10)
        Text("\(timetext)")
        Text("\(currenttimetext)")

    }
}

}
struct Alarm_view_Previews: PreviewProvider {
static var previews: some View {
    Alarm_view()
}
}

Ответы:


1

Вы должны определить следующий код в функции

    let time = Date()
    let timeFormatter = DateFormatter()
    timeFormatter.dateFormat = "HH:ss"
    let stringDate = timeFormatter.string(from: time)


    func getDate()->String{
     let time = Date()
     let timeFormatter = DateFormatter()
     timeFormatter.dateFormat = "HH:ss"
     let stringDate = timeFormatter.string(from: time)
     return stringDate
    }

Надеюсь, это поможет вам в решении проблемы

05.02.2020
  • Вау работает!!!! Мне просто интересно, зачем мне создавать функцию?? прежде чем он будет работать без функции, верно?? он изменился?? 05.02.2020
  • Ничего не изменилось, раньше тоже не работало. Обратите внимание, что в предпоследней строке кода была проблема с dateFormatter, которая теперь заменена на timeFormatter. Если вы хотите попробовать без функции, замените эту переменную той, которую вы объявили 05.02.2020
  • Зачем форматировать время с часами и секундами без минут "HH:ss" ? 05.02.2020

  • 2

    Начиная с iOS 14, Text имеет свойство style, используемое для отображения даты.

    Текст.ДатеСтиль

    Предопределенный стиль, используемый для отображения даты. https://developer.apple.com/documentation/swiftui/text/datestyle

    Вам не нужно использовать DateFormatter. Возможно, достаточно использовать Text() с time в качестве стиля.

    Text(Date(), style: .time) 
    

    В твоем случае:

    Text(timetext, style: .time)
    Text(currenttimetext, style: .time)
    
    08.03.2021
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..