2016-01-06 3 views
0

Я пытался реализовать NSDatecomponent в файле viewcontroller.swift, когда у меня возникла ошибка «Ожидаемая декларация», и «Член экземпляра« что-то »не может использоваться по типу «ViewController» enter image description hereXcode «Ожидаемое отклонение», ошибка «Выражение не разрешено на верхнем уровне»

Итак, я решил сделать новый файл .swift, а затем реализовать NSDatecomponents там. Но тогда я получил «выражения не допускаются на верхнем уровне» ошибка. enter image description here

Из того, что я нашел в googling, я знаю, что я должен реализовать это в функции, но у меня нет идентификатора Какую функцию я должен обернуть. Я также хотел бы знать, почему я получаю ошибки в файле viewcontroller.swift для дальнейшего использования. Спасибо заранее, и извините, если мой вопрос является дубликатом.

и вот исходный код

let weekBMondayComponents:NSDateComponents = NSDateComponents() 
weekBMondayComponents.year = 2016 
weekBMondayComponents.month = 01 
weekBMondayComponents.day = 11 
weekBMondayComponents.hour = 08 
weekBMondayComponents.minute = 39 
weekBMondayComponents.timeZone = NSTimeZone.systemTimeZone() 
let weekBMonday = userCalendar.dateFromComponents(weekBMondayComponents)! 
+0

Какой у вас пользовательский календарь? NSCalendar? –

+0

@ Charles-olivierDemers, Извините, забыл упомянуть, что у меня был этот код наверху 'let userCalendar = NSCalendar.currentCalendar()' – skhiomura

ответ

3

Вы хотите объявить weekBMondayComponents как свойство или переменной подкласса, и инициализировать его, возможно, в обработчике уведомлений viewDidLoad.

class ViewController: UIViewController { 
    var weekBMondayComponents:NSDateComponents = NSDateComponents() 

func setUpADay() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    weekBMondayComponents.year = 2016 
    weekBMondayComponents.month = 01 
    weekBMondayComponents.day = 11 
    weekBMondayComponents.hour = 08 
    weekBMondayComponents.minute = 39 
    weekBMondayComponents.timeZone = NSTimeZone.systemTimeZone() 
} 
+0

Спасибо, отлично работает! – skhiomura