Добавлены данные в словарь внутри замыкания, словарь пуст - PullRequest
0 голосов
/ 07 октября 2018

У меня проблема со словарем в закрытии.Я создал переменную словаря:

var dates = [String:String]()

Затем я заполнил словарь следующим кодом:

// Function to Retrieve Dates from iCloud
@objc func dotDates() {

    let predicate = NSPredicate(value: true)

    let query = CKQuery(recordType: "Events", predicate: predicate)

    database.perform(query, inZoneWith: nil) {
        (records, error) in

        if error == nil {

            for record in records! {

                self.jobHold = record["jobName"]!
                self.dateHold = record["jobDateTime"]!

                // Date Conversion to CVDate
                let conversion = Convert()
                self.dateHold = conversion.convertStringToDate(date: self.dateHold)

                // Store Dates in a Dictionary
                self.dates[self.dateHold] = self.jobHold

            }

        } else {

            print(error?.localizedDescription as Any)
        }
    }

    print("**********", self.dates, "**********")
}

В области отладки показано, что данные есть:

********** ["8 October, 2018": "Anchor Lodge Rehab",
"7 October, 2018": "Anchor Lodge Office", "15 October,
2018": "Jarm", "12 October, 2018": "North Shore Endo",
"17 October, 2018": "Kidsmile Fresh"] **********

Моя проблема в том, что когда я пытаюсь получить доступ к словарю в другом месте кода, словарь пуст.

// Display dots for date events
func dotMarker(shouldShowOnDayView dayView: DayView) -> Bool{

    print("**********", dates, "**********")

    // Look up date in dictionary
    if(dates[dayView.date.commonDescription] != nil){
        return true // date is in the array so draw a dot
    }
    return false
}

В области отладки отображается:

********** [:] **********
********** [:] **********
********** [:] **********

Я не уверенпочему пусто?Любая помощь будет высоко ценится!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...