Пікірлер
@YefimKurochkin
@YefimKurochkin 7 сағат бұрын
Please make videos about SpriteKit
@ChynaMyles-h8w
@ChynaMyles-h8w 8 сағат бұрын
As someone who is a fan of your account and a "student" of your videos, I can't think of a good reason why you would think certain things are a "waste of time" and if they truly are, why introduce them at all? It's a pattern in a few of your videos to skip over minuscule details as if they have no importance. All things considered, mainly the fact that this is an "Intermediate" tutorial, minor details to you are extremely important to those who choose to learn from you.
@SIGMA_UNITE
@SIGMA_UNITE 11 сағат бұрын
where can i donate
@SIGMA_UNITE
@SIGMA_UNITE 12 сағат бұрын
you are the goat
@rishabhbhatia1847
@rishabhbhatia1847 Күн бұрын
AppStorage is really so easy compared to userDefaults. Apple is doing great things with swift.
@shisuiuchiha2137
@shisuiuchiha2137 Күн бұрын
Hi I love how u teach coding. Thank You very much ❤ I have just completed your playlist „basics“ and I m sure I couldnt tell you everythig or much of the subjects in the playlist just from my mind. So should I return to the playlist „basics“ to get a better grip on the basics, or it is enough to see it and just continuing this playlist? Sorry for my bad english.
@SwiftfulThinking
@SwiftfulThinking Күн бұрын
Just start this one! You’ll remember more as we keep coding 👍
@shisuiuchiha2137
@shisuiuchiha2137 Күн бұрын
@ thank You
@rishabhbhatia1847
@rishabhbhatia1847 Күн бұрын
latest update for iOS17+: .environmentObject has become .environment and @EnvironmentObject is now @Environment(ClassName.self) - Nick has covered this in video #76
@spencersedano
@spencersedano Күн бұрын
Nice Xcode tutorial, the basics stay the same even if now it's a different version
@rishabhbhatia1847
@rishabhbhatia1847 Күн бұрын
This will work even without using @Bindable in the childView and using @State instead. I tried it. Any idea when exactly to use @Bindable?
@abdulmomen1145
@abdulmomen1145 Күн бұрын
While pushing the view from a navigationController from a UIKit view controller it does not backs to UIKit navigation controller
@the_avii_7
@the_avii_7 Күн бұрын
Fun facts: 🤗 1. You can create as many buttons as you can for alert. 2. Every button tap will dismiss the alert. 3. You can't get rid of the 'Cancel' button, it will always be there. Either this will be provided by the system or by your `role: .cancel` button.
@lucasc0rrea
@lucasc0rrea Күн бұрын
Congratulations on the videos, I really like the way you approach complex subjects and explain them in a simple way, I hope you continue with the work, it's been 6 months without posting any videos.
@KarthikChintalaOfficial
@KarthikChintalaOfficial Күн бұрын
Do you have any GitHub link for setting up DI in the @main section of the app?
@KozaKrisz
@KozaKrisz 2 күн бұрын
Thank you! 🙂
@rishabhbhatia1847
@rishabhbhatia1847 2 күн бұрын
as of Nov 2024, you don't need to use all this. Simply, use @state for a class instance variable and put @Observable before a class definition. no need to use @published, conforming to observable object and using @observedobject. Swift has made it simple now.
@SwiftfulThinking
@SwiftfulThinking 2 күн бұрын
You're right! This is covered in video #76 in this series. However, I believe these are still important to learn because the new Observable macro is for iOS 17+ only and most existing SwiftUI apps / companies will be supporting OS below that for several more years.
@rishabhbhatia1847
@rishabhbhatia1847 Күн бұрын
@@SwiftfulThinking Thanks for the clarification. I would request you to put in the description of videos if the features are updated and link to new videos for those features. Awesome course bdw.
@AkbarshahJumanazarov
@AkbarshahJumanazarov 2 күн бұрын
Good explanation!
@the_avii_7
@the_avii_7 2 күн бұрын
Findings related to colors 1. `.accentColor()` modifier is deprecated !!! ❌ 2. `.tint()` modifier is also not working. ❌ 3. If we use `.foregroundStyle`, it changes every view colors. ❌ 4. If you want to change disclosure indicator color, apply tint on list. ✅ 5. If you want to change navigation bar Edit/Add buttons, then fill color in `AccentColor` template in `Assets` ✅
@jamesgilligan671
@jamesgilligan671 4 күн бұрын
Love the video but my only wish is that you show us what to DO with the picker. IE how it works in a function, how to call the tags, etc. Good to have a picker but if I cant do anything with it then i am stuck. Thanks again.
@elGordoRoura
@elGordoRoura 4 күн бұрын
I decided to proceed with this approach. I updated it for Swift 6 support and was prepared to integrate it into my own Swift package-until I realized that you had already implemented a similar solution yourself. It’s incredible to see how you’ve organized and abstracted the layers of your code into reusable components. The main difference between my implementation and yours is that I chose to return all AuthManager functions as FirebaseAuth.User instances instead of objects like GoogleSignInResult or other result types. I believe this approach provides slightly more control, as it aligns directly with Firebase's authentication model. I still need to add testing and integrate analytics, so I’ll follow up as I get those added in. Additionally, I’ve incorporated a feature that allows users to add a username during sign-up. They can then choose to sign up with Google (or any other OAuth provider) or sign in with the same provider. If they are signing up, the username is appended to their combined account and Google account. Otherwise, the app loads their previous information from the sign-in attempt or defaults to a newly autogenerated username along with their provider's email and full name. Would love to get your thoughts on all of it and really love seeing your teaching style. New subscriber for sure!!!
@PrivatePrivette
@PrivatePrivette 4 күн бұрын
This series is great thanks Nick!
@aminyaghmouri9861
@aminyaghmouri9861 5 күн бұрын
Thank you so much.
@SwiftfulThinking
@SwiftfulThinking 5 күн бұрын
You're welcome!
@the_avii_7
@the_avii_7 5 күн бұрын
Why `clockwise: true` behave as anticlockwise at 6:30 ?
@rishabhbhatia1847
@rishabhbhatia1847 5 күн бұрын
Pro Tip: Goto Xcode settings and enable "Code Folding Ribbon". Then just click on the ribbons to fold the respective code blocks.
@stpaquet
@stpaquet 6 күн бұрын
To play the dotLottie files you need the dotLottie for iOS and not Lottie. If I'm correct the dotLottie for iOS can also be used to play JSON files.
@mohamedosama6697
@mohamedosama6697 6 күн бұрын
I think you applied Strategy design pattern, Good job Nick👏👏
@elvisfeagin2145
@elvisfeagin2145 6 күн бұрын
It is so weird! Seems in Xcode 16.1 / iOS 18.1 pulldown gesture no longer works in the way it is presented here. The code compiles. I thought I mistyped something so I copied and pasted code directly from Nick's GitHub. Still the pulldown gesture does not do anything in the canvas preview. Tried it on simulator ... same problem. Has something changed with ScrollView behavior? Or is there a setting somewhere in Xcode I need to enable?
@elvisfeagin2145
@elvisfeagin2145 6 күн бұрын
My bad. Forget my alarmist message 🙄 ... It appears the touch sensitive area is on the ScrollView, and the code behaves as expected. What I was doing was trying to touch and drag from the navigation title and above. And, of course, the touch gesture is not detected above the ScrollView. I've learned. Now I know.🤭
@halvesbatochi
@halvesbatochi 6 күн бұрын
Great serie videos!
@justmytraining4190
@justmytraining4190 6 күн бұрын
this is magic!
@Hassan669k
@Hassan669k 6 күн бұрын
Awesome. Can you use color codes like CSS?
@Lrriedley
@Lrriedley 7 күн бұрын
Facebook video would be extremely helpful
@98Mrjailbreak
@98Mrjailbreak 7 күн бұрын
To have the little pop up for "copy" you have to hold control key while clicking
@zenBoy323
@zenBoy323 7 күн бұрын
For those here in 2024 when .navigationBarItems is deprecated here is what you should be using instead: .toolbar { ToolbarItem(placement: .navigationBarTrailing) { NavigationLink { RandomScreen(fruitViewModel: fruitViewModel) } label: { Image(systemName: "arrow.right") .font(.title) } } }
@danielhutchings9704
@danielhutchings9704 7 күн бұрын
Thanks Nick for the course. It was excellent. I went on to further investigate GIF Flow and found out that Trunk-based Development appears to be superseding it.
@sheetalpahadi
@sheetalpahadi 8 күн бұрын
Very very informative
@joescorner293
@joescorner293 8 күн бұрын
Where's edit?
@caiocardoso6288
@caiocardoso6288 8 күн бұрын
Refreshable
@imprsnt
@imprsnt 8 күн бұрын
The explanation that changes to class object need to synchronize across all it's instances, and that leads to loss of performance, is not the correct mental model. There is only a single object/instance in the heap that all the references (i.e pointers) point to. Changing the underlying object has no overhead of synchronization.
@DouglasRutledge
@DouglasRutledge 9 күн бұрын
How to get Section work with live data. I tried but nothing seems to work. Section value keeps displaying with every record instead of grouping
@DouglasRutledge
@DouglasRutledge 9 күн бұрын
You're still my best coder to watch! For years and years, one day I'll learn something. haha
@brunoherbots
@brunoherbots 9 күн бұрын
There are people who are looking like crazy to get this to work in the new 16.1 version of XCODE. I know I did. To help you my code after searching. : // // PickerBootcamp.swift // SwiftfullThinkingBootcamp // // Created by Bruno Herbots on 15/11/2024. // import SwiftUI struct PickerBootcamp: View { var filterOptions: [String] = ["All", "Active", "Completed"] var valueOptions: [Int] = [1, 2, 3] @State var selection: Int = 1 @State private var selectedPlanet: Planets = .earth @State private var selectedColour = 1 @State private var selectedDay: dayNames = .mon let colours = ["red", "blue", "yellow"] enum Animal: String, CaseIterable, Identifiable { case dog case cat case bird var id: Self { self } } @State private var selectedAnimal = Animal.dog enum Planets: String, CaseIterable, Identifiable { case mercury, venus, earth, mars, jupiter, saturn, uranus, neptune var id: Self { self } } enum dayNames: String, CaseIterable, Identifiable { case mon, tue, wed, thu, fri, sat, sun var id: Self { self } } var body: some View { VStack { Text("Picker Bootcamp") .font(.largeTitle) Text("Basic Code example") .font(.headline) Picker(selection: $selectedColour, label: Text("Select Colour")) { ForEach(0..<colours.count, id: \.self) { Text(colours[$0]) } } Text("Use of ENUM") .font(.headline) Picker("Animal", selection: $selectedAnimal) { ForEach(Animal.allCases) { animal in Text(animal.rawValue) } } Text("Inline picker STYLE") .font(.headline) List { Picker("Planet", selection: $selectedPlanet) { ForEach(Planets.allCases) { planet in Text(planet.rawValue.capitalized) } } } .pickerStyle(.inline) Text("Wheel STYLE") .font(.headline) List { Picker("Planet", selection: $selectedPlanet) { ForEach(Planets.allCases) { planet in Text(planet.rawValue.capitalized) } } .pickerStyle(.wheel) } Text("Navigation Link Picker STYLE") .font(.headline) Text("This picker style requires a NavigationStack as the root view of the body otherwise, it wouldn’t work. The navigation link picker style is ideal when you want to present a new screen for each selection. ") .padding(.leading, 30) .multilineTextAlignment(.leading) Text("Segmented Picker STYLE") .font(.headline) List { Picker("dayName", selection: $selectedDay, content : { ForEach(dayNames.allCases) { day in Text(day.rawValue.capitalized) } }) .pickerStyle(.segmented) .background(.gray) } } // end top VSTACK } } #Preview { PickerBootcamp() } Hopefully It'll help out.
@ДмитрийСельянов-ы5г
@ДмитрийСельянов-ы5г 9 күн бұрын
If we talk about the code before 13:00 Some updates may have been released, but the counter resets when you return to the main page. Init and deinit are also triggered immediately
@TechWithCoffee
@TechWithCoffee 10 күн бұрын
Is there any way to track the cursor position in texteditor?
@rishabhbhatia1847
@rishabhbhatia1847 10 күн бұрын
for deprecated features for which you have created new videos, can you add in the description of the respective video the new video link so that we know that there is a new video for this and that this is deprecated.
@the_avii_7
@the_avii_7 10 күн бұрын
Favorite Part of the series. Thank you ❤ I thing I noticed `Animation.default` sometimes doesn't work correctly while `Animation.Linear` works in XCode 16.1
@Swift_Alvar
@Swift_Alvar 11 күн бұрын
Really has been fantastic, thanks for your work !😀
@SwiftfulThinking
@SwiftfulThinking 11 күн бұрын
Thanks! Glad it helped 👍
@Swift_Alvar
@Swift_Alvar 11 күн бұрын
Thanks was good to see how its works in the real teams projects ;)