Skip to content

Instantly share code, notes, and snippets.

struct ContentView: View {
// ...
private func deleteTodo(at offsets: IndexSet) {
self.allTodos.remove(atOffsets: offsets)
saveTodos()
}
}
struct ContentView: View {
@State private var newTodo = ""
@State private var allTodos: [TodoItem] = []
var body: some View {
NavigationView {
VStack {
HStack {
TextField("Add todo...", text: $newTodo)
private let emojiList: [EmojiItem] = [
EmojiItem(
emoji: "👾",
name: "Alien Monster",
description: "A friendly-looking, tentacled space creature with two eyes."),
EmojiItem(
emoji: "🥑",
name: "Avocado",
description: "A pear-shaped avocado, sliced in half to show its yellow-green flesh and "
+ "large brown pit."),
// ...
struct DetailsView: View {
let emojiItem: EmojiItem
var body: some View {
VStack(alignment: .leading) {
HStack {
EmojiCircleView(emojiItem: emojiItem)
// ...
struct EmojiItem: Identifiable {
let id = UUID()
let emoji: String
let name: String
let description: String
}
struct ContentView: View {
private let emojiList: [EmojiItem] = [
EmojiItem(
emoji: "👾",
name: "Alien Monster",
description: "A friendly-looking, tentacled space creature with two eyes."),
EmojiItem(
emoji: "🥑",
name: "Avocado",
description: "A pear-shaped avocado, sliced in half to show its yellow-green flesh and "
// ...
struct EmojiCircleView: View {
let emojiItem: EmojiItem
var body: some View {
ZStack {
Text(emojiItem.emoji)
.shadow(radius: 3)
.font(.largeTitle)
struct ContentView: View {
// ...
var body: some View {
NavigationView {
List(emojiList) { emojiItem in
HStack {
EmojiCircleView(emojiItem: emojiItem)
Text(emojiItem.name)
.font(.headline)
}.padding(7)
struct ContentView: View {
// ...
var body: some View {
NavigationView {
List(emojiList) { emojiItem in
NavigationLink(destination: EmptyView()) {
HStack {
EmojiCircleView(emojiItem: emojiItem)
struct ContentView: View {
// ...
var body: some View {
NavigationView {
List(emojiList) { emojiItem in
NavigationLink(destination: DetailsView(emojiItem: emojiItem)) {
HStack {
EmojiCircleView(emojiItem: emojiItem)
Text(emojiItem.name)