Тёмный
Code Cat
Code Cat
Code Cat
Подписаться
Welcome to the ios and swift programming tutorial in Hindi channel Codecat15 😊

I am a full-stack developer with 12 years of experience.

My channel is all about teaching swift programming, iOS app development, and writing clean code in swift.

And this channel is focused on swift for beginners and advanced programmers to help them learn swift programming and iOS programming with easy examples.

I want to show how small improvements in your code can have long-term benefits and save you from hours of debugging and sleepless nights if you get it right the first time.

You can learn swift with easy examples and get familiar with design patterns in swift as I will show how I implemented things like protocol, delegate protocol, singleton, MVC, MVVM, dependency injection, and many more in the coming days of ios tutorials.

I am here to simplify swift programming for beginners and everyone. Please subscribe :)
Комментарии
@user-bu2kk8dp6p
@user-bu2kk8dp6p День назад
Thank you very much! It was really very helpful for me 💯🤛. I tries three day pass data from one vc to another, and was not able to understand why every time I could receive nothing exept nil🤪
@NehaBisht-n3v
@NehaBisht-n3v День назад
nice explination thank you
@U-and-Mee
@U-and-Mee 3 дня назад
@U-and-Mee
@U-and-Mee 3 дня назад
Next Level Video, Thanks.
@U-and-Mee
@U-and-Mee 10 дней назад
@U-and-Mee
@U-and-Mee 11 дней назад
just wow
@U-and-Mee
@U-and-Mee 11 дней назад
Thank you for videos.
@U-and-Mee
@U-and-Mee 11 дней назад
Amazing Explanation.
@U-and-Mee
@U-and-Mee 11 дней назад
Subscribed.
@U-and-Mee
@U-and-Mee 11 дней назад
Wow, You are doing Great work. Thank you so much.
@ShubhamSharma-tu6is
@ShubhamSharma-tu6is 11 дней назад
Amazing Series. Thanks Ravi.
@ShubhamSharma-tu6is
@ShubhamSharma-tu6is 11 дней назад
Super Amazing!
@sonu-op6kq
@sonu-op6kq 12 дней назад
mocks are not running.
@manojaher88
@manojaher88 15 дней назад
Great video!! That is a very detailed explanation. Found one issue: Since your queue is concurrent, there is no guarantee that your Task with getAvailablePhones() will be called post purchaseTask. This will create an unwanted issue. Please correct me if I am wrong
@raghuramanandhan668
@raghuramanandhan668 16 дней назад
Learning a lot from you. Would you kindly include subtitles to your videos? They would be really beneficial.
@pawandhawanbusinessconsult2362
@pawandhawanbusinessconsult2362 18 дней назад
Thank You Dear Raj.
@CodeCat15
@CodeCat15 17 дней назад
Welcome :)
@pawandhawanbusinessconsult2362
@pawandhawanbusinessconsult2362 18 дней назад
Badhiya Bhai, Thanks
@CodeCat15
@CodeCat15 17 дней назад
Glad it was helpful Pawan, please feel free to ask questions and do share the channel with your iOS group.
@pravinnashte9514
@pravinnashte9514 20 дней назад
This is what I was looking for, Thanks Ravi.
@CodeCat15
@CodeCat15 17 дней назад
Most welcome!
@rituverma7318
@rituverma7318 21 день назад
Hello Ravi Sir, this content is very helpful for us. Please upload more videos.
@premsarkar9408
@premsarkar9408 23 дня назад
Hi Ravi in 8:55 time duration you said Hstack will not work, but now 2024 june and Hstack also work maybe swiftUI upgraded because it's 4 years passes. Hstack works outer the VStack { } Can you please upload new video. this is very helpful for me.
@srkeerthy
@srkeerthy 24 дня назад
Any reason for using @ObservedObject property wrapper instead of @StateObject for TaskViewModel in HomeView?
@CodeCat15
@CodeCat15 17 дней назад
I reverted to StateObject in the later videos and used ObservedObject to pass the VM as a dependency to child views
@poojaraghuwanshi4086
@poojaraghuwanshi4086 24 дня назад
@ravi if unowned is always work so why we should not always use unowned , why we depends on weak???
@CodeCat15
@CodeCat15 17 дней назад
Choosing between weak and unowned depends on the specific relationship and lifecycle guarantees between the objects involved, weak is used for optional reference whereas unwoned is used for non-optional references. You should unowned only on those types which are never expected to be nil but if for some reason they do end up being nil then it will crash the app and hence weak should be the choice as it won't crash the app.
@nagarajvrao7249
@nagarajvrao7249 24 дня назад
19:30 - A reference cycle only occurs if both types involved are reference types, not if one is a value type. Therefore, conforming to AnyObject is unnecessary when one side is a struct. The reason a ViewModel (VM) should be a class rather than a struct is due to state management. When a property of a struct is changed, the entire struct is recreated with the new value, causing the rest of the state to be lost. This means we would need to retain the shared instance every time the value of the struct-based VM is changed, which is not practical. Please correct me if I'm wrong, @codecat15 @ravi.
@CodeCat15
@CodeCat15 17 дней назад
right, but then as I explained in the video that mostly devs prefer class over struct and the explanation was given to ensure that if the view-model (VM) is a class then ensure the AnyObject conformation and the implementation of weak. A VM should never hold state whatsoever it is an orchestration class and not a class that manages state of the objects.
@pateldarshan1688
@pateldarshan1688 28 дней назад
really awsm content😇
@CodeCat15
@CodeCat15 17 дней назад
Glad it was helpful, please feel free to ask questions on this and do share the channel with your iOS group.
@pateldarshan1688
@pateldarshan1688 17 дней назад
@@CodeCat15 sir you should create content on SwiftUI regularly
@pawandhawanbusinessconsult2362
@pawandhawanbusinessconsult2362 29 дней назад
Thank you dost
@CodeCat15
@CodeCat15 17 дней назад
Welcome
@amandeepkaur404
@amandeepkaur404 Месяц назад
Hey Ravi can you please add a video on test doubles like stubs, mocks, spy, fakes etc? These are also a great part of unit testing.
@amandeepkaur404
@amandeepkaur404 Месяц назад
Hey Ravi can you please add a video on test doubles like stubs, mocks, spy, fakes etc? These are also a great part of unit testing.
@iSubhoo
@iSubhoo Месяц назад
Too much Complicated Video, also at 18:30 why using NSPredicate, what is it? why using format: "id==%@" nothing emplained. Just coding is going on.
@CodeCat15
@CodeCat15 17 дней назад
Sorry if you feel that way, NSPredicate is a class that works like a filter in core data it's similar to a WHERE clause in SQL, hope that helps.
@ranjanmondal1340
@ranjanmondal1340 Месяц назад
Nice video ❤ . I have a one doubt force unwrapping is not a good practice but apple itself doing that in case of @IBOutlet why ?
@CodeCat15
@CodeCat15 17 дней назад
The reason why they are forced unwrapped is because by the time your storyboard or your code initializes the UIControl it's guranteed that it will be available for you to use and operate on. The force unwrapping in my opinion is kind of a check that ensures that this control is on the view and is available to use avoiding the need to optional unwrap. Let me know if that answers your question and if not then feel free to ask more.
@amitraj2095
@amitraj2095 Месяц назад
@CodeCat15 Could you please share the next video link (For Two way binding) of MVVM
@CodeCat15
@CodeCat15 17 дней назад
My apologies for not having the two-way binding video for UIKit, the way I implemented it back then was using the Observer class and the code for that is not pretty. With Observation framework now, we can surely use two-way binding as it's naturally supported in the system.
@samyakp1353
@samyakp1353 Месяц назад
In UIKit controls used to be type Class but in SwiftUI why all views are struct? And what is @frozen wrapper infront of them?
@CodeCat15
@CodeCat15 17 дней назад
I think this design decision was made by apple to fit the need to reflect the instant changes on the view, structs are value types and hence when an existing value is updated in the struct it creates a new copy this provides predictable behavior, making it easier to reason about the state and identity of views and since structs are copied by value, the framework can easily determine when a view has changed and needs to be re-rendered. In Swift, the `@frozen` attribute is used to indicate that a public enumeration or struct's cases or properties will not change in future versions of the library or module
@ShivamSingh-nr4ep
@ShivamSingh-nr4ep Месяц назад
There is very less content about ios development unlike web development
@CodeCat15
@CodeCat15 17 дней назад
there's plenty of content for iOS app development but sadly only few of them adheres to good programming practices or explain why they went for solution A instead of solution B or solution C.
@vanitaladkat436
@vanitaladkat436 Месяц назад
Hi Ravi Thanks for detailed session. All your videos are really good and knowledgeable. and those can be referred even by beginner or experienced one. Only thing I would like to suggest is to start the { on same line for more clear code (for guidelines). (I know you add those for better understanding, but may be I have OCD for it 😂)
@CodeCat15
@CodeCat15 17 дней назад
hahaha I get it, that irritated me too for sometime as the formatting was not happening correct so I did plenty of re-takes on this video due to the formatting but then I was like ye na ho payega ab isko aise he live karna hoga
@nethral3753
@nethral3753 Месяц назад
Please make video on diffrerence between @stateobject and @observedobject
@CodeCat15
@CodeCat15 17 дней назад
noted will do, was on a break for a while will work on it and release the video asap. Thank you for your patience
@pravinnashte9514
@pravinnashte9514 Месяц назад
Really good video series
@CodeCat15
@CodeCat15 17 дней назад
Thank you Pravin, I am glad this is helpful.
@ankitdebroy5522
@ankitdebroy5522 Месяц назад
It looks like your prediction about Flutter's future was right (the recent layoffs at Google)
@PranayAshokJain
@PranayAshokJain Месяц назад
great lecture but can you create the latest videos for late swift and xcode version
@harshit2629
@harshit2629 Месяц назад
🥰Thanks
@sudebsarkar21
@sudebsarkar21 Месяц назад
@CodeCat15 can you add a few things please, so that it will prove, that the object of Superclass can be replaceable or substituted by the object of subclass, Which is the main concept of the Liskov Substitute Principle. Not finding any concept of super and sub-class,
@AmitVLogsBharat
@AmitVLogsBharat Месяц назад
you can create static store property in extension . Like :- static let test = "Test"
@hamzahasan6877
@hamzahasan6877 Месяц назад
everything is excellent bus aik masla hai, it is SwiftUI not ShwiftUI, please isko dekhlen, baqi andaaz or tareeqa behtreen hai
@subhammishra3433
@subhammishra3433 Месяц назад
please try to make video on ARC in details.
@shrutisoni6605
@shrutisoni6605 Месяц назад
Thank you very much for the series, Ravi sir! Great work .Looking forward for more videos
@shrutisoni6605
@shrutisoni6605 Месяц назад
Awesome as always.
@MadhursAyurvedicTips
@MadhursAyurvedicTips Месяц назад
my application is working fine, without the use of Stepper. as you explained..
@sagarchandradas6326
@sagarchandradas6326 Месяц назад
Gold Content
@CodeCat15
@CodeCat15 17 дней назад
Thank you Sagar, please feel free to ask more questions and do share the channel with your iOS group.
@iCoding-syed
@iCoding-syed Месяц назад
@CodeCat15, At 6:45 min, Just noticed something that I want to bring to your attention. If we make a transaction of 1 Crore in the above example. It is obviously a huge transaction to be authenticated. But, what if we make a deposit of 10 rupee right next to depositing 1Cr. It will again call the method senMesssageToAuditor() as the newAccountBalance will be having 1 crore + 10 rupees and we are doing a conditional check on the accountBalance not the amount that we are setting it through addMoney method. I think we can take it as a bug and any idea how can we fix this ?
@PravinYadav-dj9nw
@PravinYadav-dj9nw Месяц назад
Thanks Sir
@CodeCat15
@CodeCat15 17 дней назад
Glad it was helpful.
@ZindalsLife
@ZindalsLife 2 месяца назад
If you have declared John object in viewcontorller class then you need to assign it nil, and if you have declare it in viewdidload then you don't have to assign it nil, because object goes out of scope and it will be deallocate automatically, that's why in this case you do not need to assign nil in unowned also.