Skip to content

Instantly share code, notes, and snippets.

View giovani-pereira-ifood's full-sized avatar

Giovani Nascimento Pereira giovani-pereira-ifood

View GitHub Profile
struct User: Codable {
let name: String
let color: Color?
enum Color: String, Codable {
case red = "RED"
case yelllow = "YELLOW"
case blue = "BLUE"
}
}
// {
// "name": "Kermaine",
// "color": "RED",
// "number": 14
// }
let data = requestData()
let decoder = JSONDecoder()
let object = try? decoder.decode(User.self, from: data)
// {
// "name": "Janine",
// "color": "GREEN"
// }
let data = requestData()
let decoder = JSONDecoder()
let object = try? decoder.decode(User.self, from: data)
print(object) // nil
// This data contains the following JSON data
// {
// "name": "Mario",
// "color": "YELLOW"
// }
let data = requestData()
let decoder = JSONDecoder()
let object = try? decoder.decode(User.self, from: data)
@giovani-pereira-ifood
giovani-pereira-ifood / user_known.swift
Last active July 27, 2020 17:00
User codable struct with favorite color field
struct User: Codable {
let name: String
let color: Color
enum Color: String, Codable {
case red = "RED"
case yelllow = "YELLOW"
case blue = "BLUE"
}
}
@giovani-pereira-ifood
giovani-pereira-ifood / instagramStories.txt
Last active February 7, 2020 19:31
instagramStories.plist
<key>LSApplicationQueriesSchemes</key>
<array>
<string>instagram-stories</string>
</array>
@giovani-pereira-ifood
giovani-pereira-ifood / openInstagramDeepLink.swift
Created February 6, 2020 20:28
openInstagramDeepLink.swift
@giovani-pereira-ifood
giovani-pereira-ifood / addImageToPasteboard.swift
Last active February 6, 2020 20:20
addImageToPasteboard.swift
let imageData = image.pngData()
let pasteboardItem: [[String : Any]] = [["com.instagram.sharedSticker.backgroundImage" : imageData]]
UIPasteboard.general.setItems(pasteboardItem, options: [:])
@giovani-pereira-ifood
giovani-pereira-ifood / createInstagramSharingContent.swift
Last active February 6, 2020 20:29
create instagram sharing content
func createInstagramStoriesSharing(for image: UIImage) -> URL? {
guard let url = URL(string: "instagram-stories://share") else { return nil }
// Add image to Pasteboard
let imageData = image.pngData()
let pasteboardItems: [[String: Any]] = [["com.instagram.sharedSticker.backgroundImage": image]]
// Update with new pasteboard items
UIPasteboard.general.setItems(pasteboardItems, options: [UIPasteboard.OptionsKey.expirationDate: Date().addingTimeInterval(60)])
struct Point {
let x: Int, y: Int
}
let p = Point(x: 21, y: 30)
let mirror = Mirror(reflecting: p)
print(mirror) // Mirror for Point
print(mirror.children.first) // Optional((label: Optional("x"), value: 21))