Как уже упоминалось в парах других, нет способа стилизовать родительский элемент элемента, используя только CSS, но следующее работает с jQuery :
$("a.active").parents('li').css("property", "value");
Ваш код довольно , он не изменяет .
Как правило, не используйте NS...
классы в Swift, если есть собственный эквивалент, и словарь JSON всегда является типом значения ([String:Any]
).
Я рекомендую добавить перечисление Error
, сделать так, чтобы функция могла выдать , декодировать сериализованный токен с помощью Decodable
и вернуть экземпляр Token
в случае успеха
Рекомендуется сохранить метку параметра в объявлении метода
enum TokenError : Error {
case invalidJWTFormat, invalidBase64EncodedData
}
func decode(token: String) throws -> Token {
let components = token.components(separatedBy: ".")
guard components.count == 3 else { throw TokenError.invalidJWTFormat }
var decodedString = components[1]
.replacingOccurrences(of: "-", with: "+")
.replacingOccurrences(of: "_", with: "/")
while decodedString.utf16.count % 4 != 0 {
decodedString += "="
}
guard let decodedData = Data(base64Encoded: decodedString) else { throw TokenError.invalidBase64EncodedData }
return try JSONDecoder().decode(Token.self, from: decodedData)
}
и вызывать его
do {
let userID = try decode(token: "eyJ0eXAi.....").data.user.id
} catch { print(error) }