У меня есть класс, который получает все коды стран и должен сортировать их по алфавиту. Класс отлично работает в Xcode для ios, но когда я копирую его для тестирования на игровой площадке, я получаю сообщение об ошибке. Смотрите картинку.
Поэтому я удалил весь код, чтобы обнаружить, что NSMutableArray не был объявлен должным образом, поэтому он изменил их на это.
var countries:NSMutableArray = NSMutableArray()
var countryKeys:NSMutableArray = NSMutableArray()
var countryNames:NSMutableArray = NSMutableArray()
Ошибку убрал, но код не запускается. Без ошибок и без вывода.
Кто-нибудь знает, почему этот код не запускается на игровой площадке? Это ошибка?
Полный код здесь
struct countryCodes{
var countries:NSMutableArray = NSMutableArray()
var countryKeys:NSMutableArray = NSMutableArray()
var countryNames:NSMutableArray = NSMutableArray()
init(){
for code in NSLocale.ISOCountryCodes() {
let id = NSLocale.localeIdentifierFromComponents([NSLocaleCountryCode: code])
let name = NSLocale(localeIdentifier: "en_UK").displayNameForKey(NSLocaleIdentifier, value: id) ?? "Country not found for code: \(code)"
self.countries.addObject(["key":id,"value":name])
}
self.sortByValue()
}
private func sortByValue(){
let descriptor: NSSortDescriptor = NSSortDescriptor(key: "value", ascending: true)
extractToArrays(self.countries.sortedArrayUsingDescriptors([descriptor]))
}
private func extractToArrays(sortedCountries:NSArray){
for item in self.countries{
self.countryKeys.addObject(item["key"] as! String)
self.countryNames.addObject(item["value"] as! String)
}
}
}
Я попытался открыть новую игровую площадку и сразу же получаю сообщение об ошибке
//: Playground - noun: a place where people can play
import UIKit
var str = "Hello, playground"
Ошибка
file:///Volumes/External/Xcode%20Projects/MyPlayground3.playground/: ошибка: выполнение игровой площадки прервано: выполнение было прервано, причина: EXC_BAD_ACCESS (код = 1, адрес = 0x8).
NSMutableArray
вместо массива Swift? Я думаю, что это делает это сложнее, чем должно быть. - person Aaron Brager   schedule 15.09.2015