Swift Observer & Notification Pattern Tutorial - iOS Communication Patterns Part 2

  Переглядів 87,542

Sean Allen

Sean Allen

День тому

The next topic in my series on iOS Interview questions explains the Observer and Notification Communication Pattern in Swift. This is a fundamental question in iOS development and I was asked about it a lot during my interviews. In this tutorial I'll walk you through how the observer and notification pattern in Swift works, using Xcode.
iOS Dev Courses - seanallen.teachable.com/
iOS Communication Patterns Part 1 - Delegates & Protocols:
• Swift Delegate Protoco...
This is part of a series of videos about iOS interview questions in Swift. Check out the overview where I list and briefly discuss all the topics that are in this series:
• iOS Interview Question...
Project Source Code:
www.dropbox.com/sh/n5myefw2fv...
iOS Dev Courses:
seanallen.teachable.com/
Twitter:
Sean Allen - / seanallen_dev
Hired.com:
hired.com/x/1n01g
Book and learning recommendations that help out the channel if you decide to purchase (Affiliate Links):
Paul Hudson's Hacking With Swift:
gumroad.com/a/762098803
Donny Wals - Combine:
gumroad.com/a/909014131
Mark Moeyken’s SwiftUI Books:
www.bigmountainstudio.com/swiftui-views-book/fzc51
Objc.io Books (Thinking in SwiftUI & Advanced Swift):
gumroad.com/a/656585843
Ray Wenderlich Books:
store.raywenderlich.com/a/208...
#swift #softwaredeveloper #iosdeveloper

КОМЕНТАРІ: 172
@seanallen
@seanallen 4 роки тому
Watch Next - iOS Take Home Project - Job Interview Practice - Free Preview - ukposts.info/have/v-deo/hYN6mWiwbXyWxmw.html
@drforest
@drforest 6 років тому
use of star wars app gives "Force unwrap" a whole new shiny feeling
@seanallen
@seanallen 6 років тому
Haha, I didn't even realize that till you said something. Too funny
@rsdntevl
@rsdntevl 6 років тому
Love the pace, didn't need to watch at 1.25x like many other channels
@seanallen
@seanallen 6 років тому
Thanks! I get a lot of comments about how I talk too fast, so it's nice to hear that some prefer that pace.
@everton_dev
@everton_dev 6 років тому
I like your pace too! Keep it up, Sean! You are providing a great content. Cheers
@bennychewDev
@bennychewDev 6 років тому
I also noticed the pace is fast, but I prefer it too. Can perfectly understand what Sean is saying. Just talk how you talk I would say.
@laurapotter6321
@laurapotter6321 5 років тому
i watched at 1.5x, now my ears are crazy
@bohdanbochkovskyi852
@bohdanbochkovskyi852 4 роки тому
You're right!
@duncanwallace7241
@duncanwallace7241 5 років тому
Jesus, if I had found your videos last January I would have passed interviews with flying colors. SUPERB!!!
@seanallen
@seanallen 5 років тому
Haha, well, at least you're here now. I've got a ton of videos out there.
@scarlet8199
@scarlet8199 5 років тому
I agree with a few others who have shared the same sentiment. I love your pace. It gets really boring when people talk slowly fabricating a personality that is not true to theirs, your videos are amazing because it is very organic. And if I want to pay attention very loosely, l could always use the speed controls in UKposts to slow down the video. Again, love your tutorials!
@seanallen
@seanallen 5 років тому
Thanks for the kind words, Scarlet. It's impossible to make everyone happy when you get thousands of views... so like you said... I'm just gonna be me.
@zz12345aaa12345zz
@zz12345aaa12345zz 6 років тому
You're literally my Home Page, Sean. I really admire your dedication and hard work for us, thank you once again!
@seanallen
@seanallen 6 років тому
That's awesome to hear! I'm almost back from my trip, so I'll be back to my normal video release schedule soon!
@monicaluo1122
@monicaluo1122 4 роки тому
Here I list pros and cons for notifications observer - please correct me if I'm wrong or if I missed anything. Thanks in advanced! pros: 1. Observer encapsulate the details of what should do after received the signal 2. A link(reference) between observer and notifiers is not required Cons: 1. Observer could be messier - since observer has to handle all scenarios (many) after received the notifications. 2. Notifier should know the name of notification - should be defined public, otherwise, once your change a name of notification, you would need to change all where you declare it. 3. Before iOS 9, it requires a clean up for observer. deletage-protocol pros: 1.Intern has less code cons: 1. requires a reference between Boss to Intern 2. Details of what an Intern should do is exposed - against the encapsulation.
@AbhishekBanthia
@AbhishekBanthia 6 років тому
Great quick intro to Notifications. Quick thing I wanted to point out, with iOS 9, it is no longer necessary for an NotificationCenter observer to un-register itself when being deallocated.
@seanallen
@seanallen 6 років тому
Thanks for pointing that out, Abhishek
@Phantomxz
@Phantomxz 3 роки тому
@Abhishek Selector based observers (like in this video example) are not required to be unregistered. However, Block based observers are still required to be unregistered because the Notification Center strongly holds the block.
@axemanaxeman
@axemanaxeman 6 місяців тому
Love your speed of explanation too!
@ericho9625
@ericho9625 5 років тому
Thank you Sean Allen for your tutorial. Appreciated can watch so helpful videos here before my interview tomorrow. I am watching your video on 0.75 pace. :)
@seanallen
@seanallen 5 років тому
Happy to hear you enjoyed the video. I also slow down my speaking in my later videos 😏.
@user-cw4rj5bg6q
@user-cw4rj5bg6q 3 роки тому
Love your videos! Especially this one solved all the problems I've been struggling of. Thanks!
@seanallen
@seanallen 3 роки тому
Happy to help!
@infinite5837
@infinite5837 5 років тому
Best explanation. Searched for hours. THANK YOU!
@seanallen
@seanallen 5 років тому
Glad you found it helpful, Sergio!
@BekaDemuradze
@BekaDemuradze 4 роки тому
I press like before i even watch. Because i know video will be with high educational quality. Thank you very much for your incredible work
@khislatjonvalijonov3710
@khislatjonvalijonov3710 3 роки тому
Great tutorials Sean! I love all of them. Keep going.
@seanallen
@seanallen 3 роки тому
Thanks, will do!
@ahmedsurvival3964
@ahmedsurvival3964 5 років тому
Absolutely amazing videos man ! God bless you I absolutely love them ! To the point, with a great pace, Keep up
@seanallen
@seanallen 5 років тому
Happy you enjoy them, Ahmed!
@prashantsharma-nw8cc
@prashantsharma-nw8cc 5 років тому
Thanks Sean. Love to see your tutorials!
@seanallen
@seanallen 5 років тому
Happy to help Prashant!
@Sainvil4Heisman
@Sainvil4Heisman 5 років тому
Great Video! Saved me from a huge headache with protocols . Thank you
@seanallen
@seanallen 5 років тому
Happy to help, Pondu!
@eluphantakrr
@eluphantakrr 3 роки тому
I dig your videos Sean. Words cannot say how much youve saved my iOS dev ass.
@seanallen
@seanallen 3 роки тому
Happy to hear that!
@simntimtwins
@simntimtwins 3 роки тому
Spot on!! Love the clean tutorials
@RajatDuggal7
@RajatDuggal7 2 роки тому
your every single video is excellent
@rohanghorpade2894
@rohanghorpade2894 4 роки тому
Well. That was real quick and really helpful.
@toastrecon
@toastrecon 5 років тому
Awesome explanation, super clear. Thank you.
@seanallen
@seanallen 5 років тому
Happy to help, David 👍
@alexanderommm
@alexanderommm 4 роки тому
Thanks a lot for your tutorials!
@seanallen
@seanallen 4 роки тому
Happy to help!
@owencarey3216
@owencarey3216 5 років тому
You are seriously amazing. Thank you!
@seanallen
@seanallen 5 років тому
Happy to help, Owen 👍
@diegosebastianco
@diegosebastianco 5 років тому
Hi Sean, great video. I'm a beginner and I'd like to know how the parameter notification: is passed through the selector. I'm a bit confused with this. Thank you :)
@FidelHimself
@FidelHimself 6 років тому
SUPER HELPFUL! Much appreciated.
@seanallen
@seanallen 6 років тому
+FidelHimself Thanks!
@milakohen630
@milakohen630 4 роки тому
LOVED it! Thank You!
@jelly1928
@jelly1928 7 років тому
very good video, nobody on youtube is as clear and conscience as you
@seanallen
@seanallen 7 років тому
+Hamann Thanks for the compliment, Hamann. It's motivation to keep going!
@JasonMitchellAZ
@JasonMitchellAZ 6 років тому
Another great video!
@rickisyourbro
@rickisyourbro 5 років тому
Very clear tutorial. Love it
@seanallen
@seanallen 5 років тому
Thanks KaMing!
@ignaciooromendia6010
@ignaciooromendia6010 4 роки тому
I don't understand why you didn't put @objc in the function of the selector, because I'm trying to do it but isn't working
@AmitPant05
@AmitPant05 5 років тому
great one ... well explained ... really helpful thanks
@seanallen
@seanallen 5 років тому
Glad you enjoyed it, Amit!
@Zainanjum100
@Zainanjum100 5 років тому
Awesome video keep it up bro you are a living legend
@seanallen
@seanallen 5 років тому
Haha, Thanks for the kind words, Zain!
@sarahyoung9395
@sarahyoung9395 5 років тому
Thank you so much! Super helpful
@seanallen
@seanallen 5 років тому
Happy to help, Sarah!
@isaacclark9825
@isaacclark9825 6 років тому
Great explanations!
@seanallen
@seanallen 6 років тому
Thanks for watching, Isaac! Glad you enjoyed the video!
@mikethefrog7119
@mikethefrog7119 5 років тому
well explained really helpful thank you
@seanallen
@seanallen 5 років тому
Glad you liked it, Mike 👍
@user-yd9xy3rb4x
@user-yd9xy3rb4x Рік тому
Here we go again, I watch it for the fifth time with
@seanallen
@seanallen Рік тому
Welcome back :)
@reddyk2178
@reddyk2178 6 років тому
Awesome Explanation :) And Examples was very nice Thanks
@seanallen
@seanallen 6 років тому
Thanks Reddy! Glad you enjoyed it.
@siasharma8486
@siasharma8486 5 років тому
nice video.. my concepts got cleared
@Himegw
@Himegw 4 роки тому
I have just found your channel. Its great. Explanations are short and acurate. I want to be an ios and mac developer myself but i have done a java boot camp because there was no swift on here in poland ;(
@seanallen
@seanallen 4 роки тому
Glad you like the channel 😀
@deblinadas2222
@deblinadas2222 5 років тому
Nice explanation. It would be nicer if you make a video on swift generics with associatedType by illustrating an example of using this.
@TV-vu9fg
@TV-vu9fg 5 років тому
Thank you, it's very useful
@seanallen
@seanallen 5 років тому
Glad you liked it.
@axemanaxeman
@axemanaxeman 6 місяців тому
Thank you! Thank you! Thank you!😊
@emmanuelogbewe2334
@emmanuelogbewe2334 6 років тому
Great Video! It Really Helped!
@seanallen
@seanallen 6 років тому
Thanks Emmanuel!
@flamboulder
@flamboulder 6 років тому
Super useful video and series
@seanallen
@seanallen 6 років тому
+Laurie Gray Thanks Laurie! Glad you're enjoying the channel!
@YummyHealthyCookingShow
@YummyHealthyCookingShow 6 років тому
Great stuff
@jrnoh
@jrnoh 2 роки тому
very nice , i will try !!!
@_Forever555
@_Forever555 4 роки тому
This helped thanks!
@seanallen
@seanallen 4 роки тому
Glad it helped!
@marcaupont9145
@marcaupont9145 6 років тому
Good stuff!!
@seanallen
@seanallen 6 років тому
+Marc Aupont Thanks Marc, glad you enjoyed it!
@jarmenkell5644
@jarmenkell5644 11 місяців тому
thank you bro
@karljay7473
@karljay7473 6 років тому
Great job! I put a debug marker on the deinit to see when it was getting called. It didn't get called. What's the clean up on this and when does the clean up get called?
@taylormaxwell1277
@taylormaxwell1277 4 роки тому
Well explained
@seanallen
@seanallen 4 роки тому
Glad I was able to explain it well 😀
@user-sw5hs2in5b
@user-sw5hs2in5b 6 років тому
This video is really helpful for me to learn the difference between delegate and notification, would you please also have a video to explain the KVO pattern(key-value observing), thank you very much.
@seanallen
@seanallen 6 років тому
I don't really see KVO in Swift, so I have no experience with it. I know the basic concept of it, but have never actually used it.
@user-sw5hs2in5b
@user-sw5hs2in5b 6 років тому
Ok, thank you very much, however I still have one question, would you please introduce how to notify different objects with different time, for example, maybe we need to notify object2 after we notify object1 for about 2 second, is it possible, thank you for patient answering. I really appreciate.
@rafatwasef8518
@rafatwasef8518 2 роки тому
Thanks 🙏 Sean I have a question how I can switch to my storyboard from NSOBject class using the notification or there is better way
@Ipadstands
@Ipadstands 4 роки тому
Thanks great info
@seanallen
@seanallen 4 роки тому
Happy to help!
@complex5372
@complex5372 4 роки тому
Very nice!
@seanallen
@seanallen 4 роки тому
Glad you liked it!
@edanyachdav9646
@edanyachdav9646 4 роки тому
Hey, I just watched this video and the one about delegates, both are great. I just want to confirm my understanding regarding the 1-1 and 1-many relationship. supposed I have views X, a, b, and c all in memory together. With delegation I should only have communication between X and a OR X and b OR X and c (and I use 'or' in the English sense where its one and not the others). With notifications though I can blast a notification out from X and have a,b and c respond to it at the same time. I was a bit confused because, for example, a view controller can conform to many protocols but I guess those are just multiple 1-1 relationships. I feel like I got the point after writing this all out but I figured ill just make sure. Thanks :]
@macbookpro15inchuser14
@macbookpro15inchuser14 4 роки тому
thank you, thumb up pressed.
@seanallen
@seanallen 4 роки тому
Glad you liked it!
@karljay7473
@karljay7473 6 років тому
Any way to list off all active observers, also any way to remove just one listener or one observer?
@bachukibitsadze526
@bachukibitsadze526 2 роки тому
Respect for removing observers in deinit ❤️many ppl doesnt do it 😅
@stevengao8345
@stevengao8345 6 років тому
This is the best and the most clear observer and notification class i have watched, but i got a related question for this : i am using this for my social media app, when at second view controller (the comment view controller) i tap the add comment button, my first view controller which is my post view controller call the function to take action of tableView.reloadData( ), observer heard the notification, it called, because i add a print line at observe function, but tableview just won't reload, does anyone has idea why? thanks in advance
@seanallen
@seanallen 6 років тому
Are you calling tableView.reloadData() on the main thread?
@ssaguiar
@ssaguiar 6 років тому
Hi Sean. Again, the video helped a lot. But, if possible, I wish to ask a question about notifications: In my app I need to check, from time to time, if the user is still authorized to access the data from the server. For that, I have a timer wich gets the status from the web server thru a webservice and get the answer (authorized or not). I wish to know what could be the best way to have this timer running all the time and have the status read by any of the several ViewControllers in the application. For example, if the application is showing a video and the status of the license for the present user changes, the user must receive a notification informing it about the fact. I understand the I could use notification but how about a notification that can be read by any of the ViewControllers active at the time. Thanks very much for your patience.
@seanallen
@seanallen 6 років тому
Sounds like a Singleton could help here. In some of my apps, I typically have a singleton called "SessionManager" or something like that. This keeps track of things like userIDs, tokens, or any other session related information. Because it's a singleton, it can be access from your entire app (which can be dangerous, so be careful).
@unicornonthecob4302
@unicornonthecob4302 5 років тому
At 8:40, when I follow your directions for the selector part, I get an error: "Argument of '#selector' refers to instance method 'updateTableMethod(notification:)' that is not exposed to Objective-C" This must be due to an update in swift since you made the video, do you know how to do it how without having to "expose my updateTableMethod" to objective c? That's what it's telling me to do. Thanks for the help!
@ren642653
@ren642653 5 років тому
Nice. I have recently started creating an extension on Notification.Name. Something like this. extension Notification.Name { static let testName = Notification.Name("testName") } And then one can use that like this NotificationCenter.default.post(name: .testName, object: nil, userInfo: nil)
@seanallen
@seanallen 5 років тому
I've done that as well in my recent projects. It's a really clean way to do it.
@pkasetti
@pkasetti 6 років тому
Wooo! Go Sean!!!! ;)
@seanallen
@seanallen 6 років тому
+Pranav Kasetti Thanks Pranav!
@coolestazn21193
@coolestazn21193 6 років тому
Great tutorial! Just a quick question if you don't mind. For the 3 methods for light and dark, we could essentially just group that as one function each for light and dark in this scenario is this correct?
@seanallen
@seanallen 6 років тому
If I understand your question correctly, then yes you could. In my example I have a function called "createObservers" that holds both the light and dark observer creations. If you wanted to split those up into something like "createDarkObservers" and "createLightObservers" that's perfectly fine.
@luiszarza3336
@luiszarza3336 2 роки тому
why dont just create two observers that awaits for light and dark notifications and call each respective selectors to setup image, label and background ? I mean, instead of three observers/selectors for one single notification
@Mr_Jai_Kalra
@Mr_Jai_Kalra 5 років тому
superb
@seanallen
@seanallen 5 років тому
Thanks Jai 👍
@justdavebz
@justdavebz 6 років тому
Gold.
@seanallen
@seanallen 6 років тому
Thanks David!
@Olden2610
@Olden2610 6 років тому
First of all - EXCELLENT video! You're doing it really-really great! :) Many thanks (and respects ;)) to you, Sean! Secondary - Where can i read about all those properties/methods of UI? like - how i could know that i need a POST property of DEFAULT property of NotificationCenter?! srsly, how can i know that i need EXACTLY those objects? Where i can learn wich one and why used? Thank alot, if you help me! :)
@seanallen
@seanallen 6 років тому
I learn from a combination of reading through the documentation and online tutorials on the topic. By reading both of those, and implementing it a few times, I understand what's going on. developer.apple.com/documentation/foundation/nsnotificationcenter
@sachiperez
@sachiperez 5 років тому
tell'm whatcha gonna tell'm, tell'm, then tell'm whatcha told'm.
@Theasstasticvillain
@Theasstasticvillain 5 років тому
Hey Sean, I don't know if you've had a chance to check out the stanford videos but the way Paul Hegarty explains MVC it seems that MVC is dependant on the Observer Notification Pattern with the 'Model' broadcasting changes and the controller 'listening' for changes. Is this true? Thank you!
@seanallen
@seanallen 5 років тому
I haven't seen the Stanford Videos in 4 years, so I can't remember. If I have time, I'll rewatch that to see what he says.
@Theasstasticvillain
@Theasstasticvillain 5 років тому
​@@seanallen Here it is so you don't have to go digging. ukposts.info/have/v-deo/ZZGme2OksKthk4U.html
@senapathirajesh3126
@senapathirajesh3126 5 років тому
if i create only posting in one vc but there is no oservers to observe that post is there any problem occurs when only posting .
@zwdesigns5694
@zwdesigns5694 5 років тому
Could I do this with an UIView Background Color change?
@stephenweber33
@stephenweber33 2 роки тому
GobaL Variables by any other name.... Thanks for the light.
@M--tn5vu
@M--tn5vu 3 роки тому
MonadPlug is an amazing ad-network for push monetization, just thought I should share it since my revenue increased by 20% after switching from another network.
@seanallen
@seanallen 7 років тому
This video wraps up the mini-series on iOS Communication Patterns in Swift. Part 1 - ukposts.info/have/v-deo/fHKIqWyLpZ59xo0.html
@tibettenballs4962
@tibettenballs4962 Рік тому
9:20 -- "you have chosen your side."
@BayramAksoy_natrollus
@BayramAksoy_natrollus 6 років тому
i think we can do single gate,more readable and less code //sender side let key1 = "co.blabla.key1" let key2 = "co.blabla.key2" .. let name = Notification.Name("gate") NotificationCenter.default.post(name: name, object: (key1 or key2 etc..) ) //receiver side let name = Notification.Name("gate") NotificationCenter.default.addObserver(self, selector: #selector(singleFunc(notif:)), name: name, object: nil) func singleFunc(notif: : Notification) { let key: String = notif.object as! String print(key) } it prints "co.blabla.key1" or "co.blabla.key2",then we can use whatever we want
@vigneshthangamariappan2843
@vigneshthangamariappan2843 6 років тому
Hey Sean, How do i get rid of the @obj method error when i use the #selector keyword? I'm always getting this error unlike you.
@seanallen
@seanallen 6 років тому
This is new in Swift 4 (which officially has been released out since my video). Xcode should offer a "Fix it" where it will fix it for you if you tap on the error. But basically, it's now required to add @objc before the function you're using in your #selector
@KSwizzleDrizzle
@KSwizzleDrizzle 5 років тому
Hey Sean, just to be clear. If you had 3 names like ".light, .dark, .brown" you'll have to use an if-statement correct? Since The observer doesnt know what background to choose from. I'm just slightly confuse how the observer knows that if you click on Imperial, it knows to change the background color, image, etc to red and darth vader.
@KSwizzleDrizzle
@KSwizzleDrizzle 5 років тому
Can you also please explain, let isLight = "light" == light. I'm having trouble understanding it. Can you show it in a way that's more commonly used. I'm trying to recreate it but am have trouble.
@waynezong8418
@waynezong8418 5 років тому
@@KSwizzleDrizzle isLight is a boolean. You can interpret it as: if "light" == light { isLight = true } else { isLight = false }
@user-yd9xy3rb4x
@user-yd9xy3rb4x 2 роки тому
Yeah, SwiftUI has wrappers for that.
@SmartStuden88
@SmartStuden88 4 роки тому
A small clarification: If your app targets iOS 9.0 and later or macOS 10.11 and later, you don't need to unregister an observer in its dealloc method. Otherwise, you should call removeObserver(_:name:object:) before observer or any object passed to this method is deallocated.
@awaiskhalid7536
@awaiskhalid7536 6 років тому
can you please explain what RxSwift is ?
@seanallen
@seanallen 6 років тому
www.raywenderlich.com/158026/introducing-rxswift-reactive-programming-swift
@awaiskhalid7536
@awaiskhalid7536 6 років тому
Thanks Allen i just got this book
@vigyanhoon
@vigyanhoon Рік тому
So many duplicates! Thanks
@ssaai
@ssaai 6 місяців тому
👏🏻👏🏻👏🏻👏🏻
@imagerider1843
@imagerider1843 2 роки тому
Why I have to mark a func with @objc?
@andyal868
@andyal868 2 роки тому
Because the function that is calling that function is from objective c programming language. Where it says #selector
@ikeo8666
@ikeo8666 2 роки тому
anyone taking the again shot?
@videoandgo8597
@videoandgo8597 5 років тому
Why don't you call a main method "observerHandler" with a parameter (dark, light) in the addObserver call and switch your routines like that ? No needs to enumerate all the methods to call in the addObserver like that and code is reduced...
@vincenzocalia6552
@vincenzocalia6552 6 років тому
Man you talk fast!! lol.. great tutorials you make, very clear and really, almost always , the one tutorial that in the end clarify things. just one thing, take it easy when you explain, if I could slow down the report of youtube videos I would, ..like to a half..lol thank you very much for your great work.
@seanallen
@seanallen 6 років тому
Thanks for the kind words, Vincenzo. I've been working on my speaking pace in my more recent videos. If it gets too fast, UKposts has the option to watch at 50% or 75% speed. Give that a try.
@anamikapandit7111
@anamikapandit7111 5 років тому
But how it is one to many,?
@seanallen
@seanallen 5 років тому
You can post multiple notifications from various areas in your code to one observer
@anamikapandit7111
@anamikapandit7111 5 років тому
Ok
@anamikapandit7111
@anamikapandit7111 5 років тому
Thank you 😊
@alihasanoglu5278
@alihasanoglu5278 5 років тому
good video but your speed is too much :D please little slowly
@seanallen
@seanallen 5 років тому
Yup, this is one of my older videos. I've gotten much better at my delivery speed since then.
@Sadboy80629
@Sadboy80629 3 роки тому
Thanks I dropped out of college and looking to teach myself how to code. I am 40 years old and now seeking to go back into education and stop living under a bridge. Update: I am now owner of Microsoft
@lemondeestloeuvredunenfant4633
@lemondeestloeuvredunenfant4633 5 років тому
The pace is too fast.
@seanallen
@seanallen 5 років тому
This is one of my earlier videos. I've gotten much better at that.
@lemondeestloeuvredunenfant4633
@lemondeestloeuvredunenfant4633 5 років тому
@@seanallen Ok. Sorry. I'm going to try to slow it.
@seanallen
@seanallen 5 років тому
All good. That was a common criticism of my earlier videos, so it was something I worked on. Yeah, UKposts lets you adjust the speed. You shouldn’t have this issue with my more recent content.
@fadyeid4553
@fadyeid4553 5 років тому
You speak so fast! I had to stop and rewind every ten seconds.
@seanallen
@seanallen 5 років тому
This video is back from when I first started. I’ve improved on that a lot in my recent videos.
@theartfuldodger935
@theartfuldodger935 5 років тому
If you didn't do so much speed, your hair wouldn't fall out.
@seanallen
@seanallen 5 років тому
This actually made me laugh. Good one. 😂
@theartfuldodger935
@theartfuldodger935 5 років тому
@@seanallen :-) btw, I love your videos.
Latex Tutorial 4: Mathematics using Latex in Amharic
23:01
Hafte Tkue | ሃፍተ ትኩእ
Переглядів 1
Парковка Пошла Не По Плану 😨
00:12
Глеб Рандалайнен
Переглядів 12 млн
BRAWLER MUTATIONS WILL BREAK THE GAME! - Brawl Talk
09:34
Brawl Stars
Переглядів 25 млн
How to use Lazy in Swift
9:56
Sean Allen
Переглядів 38 тис.
Swift Generics for Beginners - Eliminate Code Duplication
10:37
Sean Allen
Переглядів 16 тис.
iOS Interview Questions and Answers 2017 - Swift  - Series Overview
11:42
SwiftUI - Intro to MVVM | Example Refactor | Model View ViewModel
11:55
Swift API Calls for Beginners (Networking) - Async Await & JSON
25:35
iOS Concurrency and Threading - iOS Interview Question - Swift
7:50
Sean Allen
Переглядів 104 тис.
Секретная функция ютуба 😱🐍 #shorts
0:14
Владислав Шудейко
Переглядів 1,7 млн
Iphone yoki samsung
0:13
rishton_vines😇
Переглядів 9 млн
Как открыть дверь в Jaecoo J8? Удобно?🤔😊
0:27
Суворкин Сергей
Переглядів 775 тис.
RTX 4070 Super слишком хороша. Меня это бесит
15:22
Рома, Просто Рома
Переглядів 56 тис.