Size: a a a

2020 May 28

MG

Mark Gromov in SwiftBook
источник

MG

Mark Gromov in SwiftBook
короче вот)
источник

MG

Mark Gromov in SwiftBook
вроде работает, только надо немножко зарефакторить
источник

🅰Б

🅰️лександр Б.... in SwiftBook
Нашел на просторах
источник

🅰Б

🅰️лександр Б.... in SwiftBook
Может кому то пригодиться
источник

🅰Б

🅰️лександр Б.... in SwiftBook
let data = ["Anton", "Anna", "John", "Caesar"]

var letters: [Character]

letters = data.map { name in
   return name[name.startIndex]
}

letters = letters.sorted()

letters = letters.reduce([], { (list, name) -> [Character] in
   if !list.contains(name) {
       return list + [name]
   }
   return list
})


// Build contacts array:

var contacts = [Character: [String]]()

for entry in data {
   if contacts[entry[entry.startIndex]] == nil {
       contacts[entry[entry.startIndex]] = [String]()
   }

   contacts[entry[entry.startIndex]]!.append(entry)

}

for (letter, list) in contacts {
   contacts[letter] = list.sorted()
}
источник

MG

Mark Gromov in SwiftBook
🅰️лександр Б.
let data = ["Anton", "Anna", "John", "Caesar"]

var letters: [Character]

letters = data.map { name in
   return name[name.startIndex]
}

letters = letters.sorted()

letters = letters.reduce([], { (list, name) -> [Character] in
   if !list.contains(name) {
       return list + [name]
   }
   return list
})


// Build contacts array:

var contacts = [Character: [String]]()

for entry in data {
   if contacts[entry[entry.startIndex]] == nil {
       contacts[entry[entry.startIndex]] = [String]()
   }

   contacts[entry[entry.startIndex]]!.append(entry)

}

for (letter, list) in contacts {
   contacts[letter] = list.sorted()
}
а, я думал просто буквы нужны
источник

ЮБ

Юрий Бучин in SwiftBook
🅰️лександр Б.
let data = ["Anton", "Anna", "John", "Caesar"]

var letters: [Character]

letters = data.map { name in
   return name[name.startIndex]
}

letters = letters.sorted()

letters = letters.reduce([], { (list, name) -> [Character] in
   if !list.contains(name) {
       return list + [name]
   }
   return list
})


// Build contacts array:

var contacts = [Character: [String]]()

for entry in data {
   if contacts[entry[entry.startIndex]] == nil {
       contacts[entry[entry.startIndex]] = [String]()
   }

   contacts[entry[entry.startIndex]]!.append(entry)

}

for (letter, list) in contacts {
   contacts[letter] = list.sorted()
}
Почти дописал похожее решение.
Google оказался быстрее)))
источник

А

Александр in SwiftBook
а как модель составить когда ответ может быть и таким
{
   "username": [
       "Это поле не может быть пустым."
   ]
}
и таким

{
   "email": "",
   "username": "укекнкуапвы",
   "id": 86
}
источник

v

voodoo in SwiftBook
свой конструктор в декодере
источник

А

Александр in SwiftBook
voodoo
свой конструктор в декодере
я про конкретно username: он и String и [String]
источник

v

voodoo in SwiftBook
и это тоже
источник

А

Александр in SwiftBook
voodoo
и это тоже
нифига не понимаю как одному имени в конструкторе два типа сделать
источник

v

voodoo in SwiftBook
Александр
нифига не понимаю как одному имени в конструкторе два типа сделать
struct Profile: Codable {
let cash: String

init(from decoder: Decoder) throws {
       let val = try decoder.container(keyedBy: CodingKeys.self)
       
       if let c = try? val.decode(String.self, forKey: .cash) {
           cash = c
       } else {
           cash = try String(val.decode(Double.self, forKey: .cash))
       }
}
источник

v

voodoo in SwiftBook
под себя подстрой
источник

А

Александр in SwiftBook
voodoo
struct Profile: Codable {
let cash: String

init(from decoder: Decoder) throws {
       let val = try decoder.container(keyedBy: CodingKeys.self)
       
       if let c = try? val.decode(String.self, forKey: .cash) {
           cash = c
       } else {
           cash = try String(val.decode(Double.self, forKey: .cash))
       }
}
ох еп… похоже еще на 3 вечера задача :)))) спасибо
источник

v

voodoo in SwiftBook
я тож был удивлён, когда узнал, что декодер в свифте ломается из-за того, что данные пришли не в кавычках
источник

ЮБ

Юрий Бучин in SwiftBook
Александр
я про конкретно username: он и String и [String]
Можно поробовать так
struct User: Codable {
 var username: String?
 var usernames: [String]?

 init(from decoder: Decoder) throws {
     let values = try decoder.container(keyedBy: CodingKeys.self)
     username = try? values.decode(String.self, forKey: .username)
     usernames = try? values.decode([String].self, forKey: .username)
 }
}
источник

А

Александр in SwiftBook
Юрий Бучин
Можно поробовать так
struct User: Codable {
 var username: String?
 var usernames: [String]?

 init(from decoder: Decoder) throws {
     let values = try decoder.container(keyedBy: CodingKeys.self)
     username = try? values.decode(String.self, forKey: .username)
     usernames = try? values.decode([String].self, forKey: .username)
 }
}
вот за это огромнейшее спасибо
источник

ЮБ

Юрий Бучин in SwiftBook
Александр
вот за это огромнейшее спасибо
Пожалуйста
источник