Hi, unfortunately there was no video where I built the app. I was just using this app to demonstrate some iOS/Swift concepts. If that's something you or others would like to see, let me know! I'll pin this comment.
Hi Mark, thanks for your helpful videos. I think you do a great job with explaining these concept to beginners, like myself. Do you have videos on how to made Data Models?
One of the most frustrating things as a developer trying to learn a new concept is when the presenter glosses over certain things they do and leave you asking "wait, why did you it that way?" or "what does that one property you just set actually do or mean?" Your videos are extremely thorough and I appreciate the time you take to explain every step of what you're doing and why. Keep up the good work, Mark!
Thanks, Rod! I teach the way I would want to be taught. I know what you mean though, I have experienced that too where I just watched a tutorial that left me with more questions than when I started.
your videos always have some information which I probably have not come across in any other tutorials and every single step is said and done with so much clarity that I love. will keep watching all your content. thanks for making them.
Thanks Mate, thats so awesome :) Yesterday i started an app with requesting services and animations and i got the same warnings! You saved me a lot of time and now it WORKS . Best Swift-Channel on RUclips :) Thanks so much :)
Learning how to create snippets was cool as well as finding out executing time for getting data. I only knew about switching to the main thread for UI updates but didn't know what the other various threads were. Thanks.
I tried to create one a couple days ago in Xcode and I had trouble with it. Not sure if it's still working the same way. I couldn't drag and drop code in Xcode.
Hey, this was super cool I'm starting with threads and you are so clear in explanation. One other thing is before I don't know how it's easy to create a snippet and shortcuts to reuse. A lot of thanks for this information! Keep the good work!
I just stumbled across this video and it was so helpful in understanding a previously confusing topic. Going to be going through all your vids man, thank you very much. Keep up the great work, you have a new subscriber!
Very useful Mark. I will try and put this to use using Google Places SDK where I need to get a place's image in a separate request to the original. This is causing me sole headaches when trying to build out a table view with cells filled with place data. Any tips? Using the API will require the same approach.
Question 1: if asynchronous doesn't wait for the code to complete to continue then synchronous will wait. If this is true why would you put it on another thread in the first place? Surely leaving it on the main thread would do the same thing if the program has to wait for it to complete on either thread. 2. How do you do that thing where you delete the whole line without highlighting? Great vids!
these are best descriptive tutorial i have watched, i can understand them and apply to my little project, thanks for your great tutorials. regarding this course, while waiting that 3 second, can you teach us how to do the progress bar? so the users know that the tableview is loading now. it is a cool thing i always i want to learn. thanks
Amazing video GCD simplified. One question, inside of the .async { } the steps are synchronous and the .async refers to the whole code block being asynchronous to the other steps in viewDidLoad()?
Hello Mark , first of all thank you for all your videos they're really helpful and straight to the point why did a put a sleep function for 2 seconds in getData ?
Mack, Alamofire handles this for you already. In my next video you will see how we change my data call and by the time we are done it will look more like an Alamofire data call.
just been studying on Threading, maybe the reason why It works and sometimes it doesnt is because the global queue is concurrent so it is probabilistic and we cannot guarantee which once will finish first (getting data or reloading data). So when you put reload on main, main is serial so one task must finish before the other. but is it weird and cool how the computer does this
Love your stuff. I keep coming back to your page to get new tips and ideas for programming, as well as design ideas. You have a good eye for UI. Quick question: how do you delete an entire line with one keystroke? You do this a lot, and I can't figure out how you do it. I know about CTRL-K, but that can take two or three keystrokes. How do you delete an entire line of code with just one keystroke? Thanks!
Hi Phontaine, At some point in Xcode 8 they added the Delete Line and Delete Paragraph command but you had to go into Key Bindings in your Preferences to map it. I mapped mine to CMD + D. But when Xcode 9 came out this functionality stopped working. The commands are still there but they stopped working. It's a known bug. We have to wait until Apple fixes it now. :(
Hey Mark, thanks so much for this video. I'm working with my own tableview right now and definitely need to implement some threading for data retrieval as my current method is not the greatest. The fix that you made via DispatchQueue.main.asyc{} to dissolve the "application modifying autolayout engine from background thread..." error makes sense to me as the "self.tableView.reload" call should be made from the main thread. Perhaps I'm misunderstanding something, but would this solution work if the Data.getData() call took some ridiculous time (say 20 seconds) to return? If this were the case, wouldn't your "tableView" be reloaded before the 20 seconds had elapsed (as it is reloaded on the main thread), causing it to present no information as the data would not have been retrieved? (I also checked out your followup video on closures, so so helpful, one of the best videos I have seen on the topic. Thanks again!)
I'm a beginner of ios programmer. I can say that your tutorials are very very awesome. I just wondering if you have an online course on Udemy or somewhere else :) cas I bought lots of ios online course from Udemy but I've never seen someone teach very clear like you I've learned about Threading but I just know what it is and how to use after watched your tutorial :) Thanks a lot, sir! you saved my day again haha
Well I'm glad to hear I can help out so much! I don't have any online courses. I have a pretty full schedule and I put out RUclips tutorials when I can. The closest to a course I have would probably be the Itinerary App Series here on RUclips. I still haver a ways to go on finished this series.
I suppose that if you're doing something super task-intensive like encryption or decryption of data, that is simply *doesn't matter* which thread you put it on, the app will still wait for 4 seconds until it gets done with the encryption before freeing the UI back up. I've tried placing this task exactly as per this video in a DispatchQueue.global(qos: .userInteractive).async{}, and it still freezes the app for 4 whole seconds. Oh well. I'm about to give up on encrypting the users' data! Nice video, I just wish someone would admit that threads have their limits apparently and can't handle being tasked with doing something as it is able instead of hogging memory to the point that the UI doesn't work.
Do you have to do any kind of deinit on any threads you create - like you did for notifications so that it doesn't create retain cycles or remain in memory ?
Hey great tutorial , quick question I was wondering for my app I'm creating a profile and I want of course for one of the cells to be static which will just display user info like Instagram and such but then I also wanted my cells to fetch posts? How do I keep one static while another a prototype cell and in the same table view ? Thanks
You have a couple options: 1. You could use a TableView Header. That scrolls with the tableview. I have a video here: ruclips.net/video/9ZBREmCCJXA/видео.html 2. Another option is you could create another prototype cell and only dequeue it if the indexPath row is zero. There might be another option but I can't think of one right now.
Mark Moeykens awesome thanks I will try, and also another quick question how can I have users post videos in my app like Facebook ? Is it a lot of firebase storage ?
1.Mark can you make a video regarding best way to read apple docomentation library . 2.How to deal with new task that you haven't done before . What is best way to approach to solution when you stuck at some problem I'm a college student .There's no one to guide . I just want to know how a expert (professional Developer) handles these type of issues . Can you make a video regarding General way to approach any issue.
Hi Mark! Can you show how to put image or images inside the textView? textView.addSubview(imageView) just put image above the text. How can we place image in certain position? I tried to put textView and ImageView inside ScrollView, but its a pain with autolayout
Great question! By default you are usually on the main thread. You can check by setting a breakpoint. When stopped at the breakpoint go over to the Debug Navigator pane on the left. You should see a bunch of Threads there. You know you're on the main thread if the Thread Queue name is something like "com.apple.main-thread". You can also check Thread.isMainThread. In your console (bottom, right side) type in: po Thread.isMainThread and it'll return true or false. Or in code you can do: print("Is main thread? \(Thread.isMainThread)") Hope this helps!
Hey mark, I got this error after adding Facebook and Google Signin runtime: UI API called from background thread: -[UIApplication delegate] must be used from main thread only can you help me out?
I'm not sure, Lakshay. From the message I'm guessing some of the APIs are getting called from a background thread and the APIs might need the main thread because that is where UI work is done. So just make sure all APIs are called on the main thread. I have some videos on threading that should help you out here. Check them out.
Hi there, For me didn't work, yeah it downloads the info from a WS but when it turns back to Dispatch.main.async doesnt reload the data of my tableView :( ¿Does someone know what's going on?
Thank you for the Videos, This is awesome. I think a lot of time IOS developers need to use Threading to communicate with API calls. If you could show us how to do that with your next video, which is closure. That would be awesome.
wow you are fast! No worry, do whatever you like, it is your Channel. I am just suggesting topics :) Like I said, Parsing JSON from Api and put data to you Model class is another good topic too :) Hope you have a good day Mark! Thank you for making videos!
Oh yeah, Jian, that's a good idea. I had put together a sample project where I do a lot of that. You can see what it looks like on my Twitter: twitter.com/bigmtnstudio/status/841501742558670849
Srikanth, you want to make sure you're using "async", not "sync". Sync means "synchronous" which is only one thing can happen at a time, one after another. Async means "asynchronous" which means many things can happen all at one time.
@@bigmtnstudio what i understood is if i use sync the control stays in the same thread whether it is main or background. thanks mark understood crystal clear.
Ha ha, yeah. And sometimes it'll work and then sometimes it won't and that inconsistency really messes with you in trying to figure out what is happening.
+Biren Patel, Ha ha, thanks, Biren! I fixed it. Had a friend tell me that too but I was at work and then went to a code group after work so I could not fix it until I got home. The shame...😳
That's a function on the CharacterCell class. I created the CharacterCell: UITableViewCell to represent a row in the tableview so I can create outlets for the cell. Then I add that setup function which passes in the data and then inside the function it assigns values to all the outlets.
it doesn't work with getting data from the API here is the code nothing wrong with fetchingSchedule function it works on the main perfectly let url = "syntax-eg.esy.es/api/schedule" DispatchQueue.global(qos: .userInteractive).async { self.fetchingSchedule(url:url) DispatchQueue.main.async { self.tableView.reloadData() } }
Where is the beginning of this series where you actually build the app?
Hi, unfortunately there was no video where I built the app. I was just using this app to demonstrate some iOS/Swift concepts. If that's something you or others would like to see, let me know! I'll pin this comment.
Yes please!! thumbs up if you too want the full tutorial on how to build the zelda app
That would be awesome if you could! Also, great presentation at DevMountain a couple of weeks ago!
Thanks, Edmund!
Hi Mark, thanks for your helpful videos. I think you do a great job with explaining these concept to beginners, like myself. Do you have videos on how to made Data Models?
One of the most frustrating things as a developer trying to learn a new concept is when the presenter glosses over certain things they do and leave you asking "wait, why did you it that way?" or "what does that one property you just set actually do or mean?" Your videos are extremely thorough and I appreciate the time you take to explain every step of what you're doing and why. Keep up the good work, Mark!
Thanks, Rod! I teach the way I would want to be taught. I know what you mean though, I have experienced that too where I just watched a tutorial that left me with more questions than when I started.
Your teaching style is excellent Mark.you never missed a single point while teaching any topic. I learned code snippet thing .Keep it up
Thanks, Chandramani! I try to do my best when teaching. I'm happy you like my videos. 😀
that code snippet thing was handy, I never knew that!
Glad you liked it. It's very easy to overlook! :)
LeikoLaboeProduction same thing here!
your videos always have some information which I probably have not come across in any other tutorials and every single step is said and done with so much clarity that I love. will keep watching all your content. thanks for making them.
You're welcome, Anoop!
Thanks Mark for such a simple and clear explanation. I also liked the concept of Code Snippet Library explained so clearly.
You're welcome! I glad you found the information helpful. 😃
I know am late but damn such a good tutorial! Thank you!
I'm glad you liked it, Ekko! 👍
Thanks Mate, thats so awesome :) Yesterday i started an app with requesting services and animations and i got the same warnings! You saved me a lot of time and now it WORKS .
Best Swift-Channel on RUclips :)
Thanks so much :)
Wow, Rico, good timing! Glad it helped. 😀
Greta explanation
Thanks, Shabba! 👍🏼
I have read a lot of articles about thread. But this video is the best for me.
That's great, Suzan! I'm glad you liked it. :)
Learning how to create snippets was cool as well as finding out executing time for getting data. I only knew about switching to the main thread for UI updates but didn't know what the other various threads were. Thanks.
You're welcome. 😀
Your videos are the best entry point to introduce people to the iOS development... Great work!!! Thanks a lot.
Hey thanks, Mateo!
that code snippet thing was something knew, I never knew it!
thanks
I tried to create one a couple days ago in Xcode and I had trouble with it. Not sure if it's still working the same way. I couldn't drag and drop code in Xcode.
thanks,if it was there..it must be there,we just need to knw it..will figure it out.
:)
Great job! I really appreciate you going into detail on how you are building the code and what your thought process is.
Thanks, Andrew!
Hey, this was super cool I'm starting with threads and you are so clear in explanation. One other thing is before I don't know how it's easy to create a snippet and shortcuts to reuse. A lot of thanks for this information! Keep the good work!
Thanks, Carlos. Glad I could be of assistance to my fellow developers!
Best video on multithreading I have ever seen!
Well, thank you, Nupur! 😃
I just stumbled across this video and it was so helpful in understanding a previously confusing topic. Going to be going through all your vids man, thank you very much. Keep up the great work, you have a new subscriber!
That's awesome, Tom! I'm so glad I can help others.
I was using DispatchQueue without knowing what it is for, but i got it now. Very well explained! Thank you.
That's awesome, Mohamed! Glad I could help!
Thanks for the video.
Please, give some example on how to use .sync and when to to use it.
Very useful Mark. I will try and put this to use using Google Places SDK where I need to get a place's image in a separate request to the original. This is causing me sole headaches when trying to build out a table view with cells filled with place data. Any tips? Using the API will require the same approach.
Question 1: if asynchronous doesn't wait for the code to complete to continue then synchronous will wait. If this is true why would you put it on another thread in the first place? Surely leaving it on the main thread would do the same thing if the program has to wait for it to complete on either thread.
2. How do you do that thing where you delete the whole line without highlighting?
Great vids!
The video is soo good, the explanation is very clear, I'm happy that I found your channel, keep it up
That's awesome, Abdulaziz. I'm glad you like it!
Amazing tutorial! Took a hard concept and I learned it in minutes, instead of hours!(had a hard time visualizing threading before). Subscribed :)
+Abdullah Jemaz, that's cool! I'm glad it saved you time so you can work more on the fun stuff. 😀
these are best descriptive tutorial i have watched, i can understand them and apply to my little project, thanks for your great tutorials. regarding this course, while waiting that 3 second, can you teach us how to do the progress bar? so the users know that the tableview is loading now. it is a cool thing i always i want to learn. thanks
Amazing video GCD simplified. One question, inside of the .async { } the steps are synchronous and the .async refers to the whole code block being asynchronous to the other steps in viewDidLoad()?
Yeah, that's right. The async just allows the app to continue and not wait for any synchronous steps inside the block.
Hello Mark , first of all thank you for all your videos
they're really helpful and straight to the point
why did a put a sleep function for 2 seconds in getData ?
Thank you, Hilal. 😊
The sleep is just for demonstration purposes, to slow down the code. Normally that would not be in there.
Great video Mark! Do you have something more in-depth on this topic?
Oh sorry, Dan, I do not! Are you looking for anything in particular?
Really nice tutorial, Now i have idea of threads
That’s cool, Vignesh! 👍
Really awesome work. you are great tutor. waiting for more detailed tutorial video about thread handling.
Thank you, Meera!
Great tut, I have one question. So let say I like to do network request using alamofire, Should I use Dispatch function on alamofire?
Mack, Alamofire handles this for you already. In my next video you will see how we change my data call and by the time we are done it will look more like an Alamofire data call.
just been studying on Threading, maybe the reason why It works and sometimes it doesnt is because the global queue is concurrent so it is probabilistic and we cannot guarantee which once will finish first (getting data or reloading data). So when you put reload on main, main is serial so one task must finish before the other. but is it weird and cool how the computer does this
Your video made it so much easier to understand. Thanks so much :D You have earned a subscriber
great tutorial mark every time you doing amazing
Thanks, Vikas
How about Core Data CRUD operation? Are background threads used there too?
This is what i have been waiting for.. Thanks you so much Mark!!!
You're welcome! 😀
Love your stuff. I keep coming back to your page to get new tips and ideas for programming, as well as design ideas. You have a good eye for UI. Quick question: how do you delete an entire line with one keystroke? You do this a lot, and I can't figure out how you do it. I know about CTRL-K, but that can take two or three keystrokes. How do you delete an entire line of code with just one keystroke? Thanks!
Hi Phontaine, At some point in Xcode 8 they added the Delete Line and Delete Paragraph command but you had to go into Key Bindings in your Preferences to map it. I mapped mine to CMD + D. But when Xcode 9 came out this functionality stopped working. The commands are still there but they stopped working. It's a known bug. We have to wait until Apple fixes it now. :(
Oh, cool. Since I'm still on Xcode 8, I'll give it a try. Thanks!
Thank you very much Mark! This video helped me to speed up my application which uses APIs.
That's cool, I'm glad it helped!
Mark Moeykens thank you so much for this new video tutorial. your explanation is very clear and you do a great job
Thank you, Yannsonnboys.
thanks Mark Moeykens, this topic is very important when we load data and you gave me more informations on this
You're welcome, Samuel.
Thanks for your amazing tutorial.
You're welcome, Đoàn. :)
Hey Mark, thanks so much for this video. I'm working with my own tableview right now and definitely need to implement some threading for data retrieval as my current method is not the greatest.
The fix that you made via DispatchQueue.main.asyc{} to dissolve the "application modifying autolayout engine from background thread..." error makes sense to me as the "self.tableView.reload" call should be made from the main thread. Perhaps I'm misunderstanding something, but would this solution work if the Data.getData() call took some ridiculous time (say 20 seconds) to return? If this were the case, wouldn't your "tableView" be reloaded before the 20 seconds had elapsed (as it is reloaded on the main thread), causing it to present no information as the data would not have been retrieved?
(I also checked out your followup video on closures, so so helpful, one of the best videos I have seen on the topic. Thanks again!)
Damn, your explanations are so clear and easy to understand. Thank you so much ! :)
+iPHYZLL , thank you! I try to make it as easy as possible.
Man, you just awesome, I love your tutorial. straight to the point.
+Xin Lok, thanks, man!
will there be any issue if I use swift4 and Xcode9 while following this playlist?
You shouldn't have any issues. This area hasn't changed between versions. You should be good to go!
I'm a beginner of ios programmer. I can say that your tutorials are very very awesome. I just wondering if you have an online course on Udemy or somewhere else :)
cas I bought lots of ios online course from Udemy but I've never seen someone teach very clear like you I've learned about Threading but I just know what it is and how to use after watched your tutorial :)
Thanks a lot, sir! you saved my day again haha
Well I'm glad to hear I can help out so much! I don't have any online courses. I have a pretty full schedule and I put out RUclips tutorials when I can. The closest to a course I have would probably be the Itinerary App Series here on RUclips. I still haver a ways to go on finished this series.
I suppose that if you're doing something super task-intensive like encryption or decryption of data, that is simply *doesn't matter* which thread you put it on, the app will still wait for 4 seconds until it gets done with the encryption before freeing the UI back up. I've tried placing this task exactly as per this video in a DispatchQueue.global(qos: .userInteractive).async{}, and it still freezes the app for 4 whole seconds. Oh well. I'm about to give up on encrypting the users' data! Nice video, I just wish someone would admit that threads have their limits apparently and can't handle being tasked with doing something as it is able instead of hogging memory to the point that the UI doesn't work.
Thank you, I learn a lot from this video. And thx for the title and description of Chinese translation.
Oh no problem! Viewers can now contribute to translations. Another one of my viewers offered this translation. :)
Do you have to do any kind of deinit on any threads you create - like you did for notifications so that it doesn't create retain cycles or remain in memory ?
Not for this scenario because the getData function is static so it will always be in memory to be used.
Super helpful! Thanks!
No problem!
Thanks a lot for this video. I really needed this
+OmniChrome, you're welcome!
Hey great tutorial , quick question I was wondering for my app I'm creating a profile and I want of course for one of the cells to be static which will just display user info like Instagram and such but then I also wanted my cells to fetch posts? How do I keep one static while another a prototype cell and in the same table view ? Thanks
Hello.
You have a couple options:
1. You could use a TableView Header. That scrolls with the tableview. I have a video here: ruclips.net/video/9ZBREmCCJXA/видео.html
2. Another option is you could create another prototype cell and only dequeue it if the indexPath row is zero.
There might be another option but I can't think of one right now.
Mark Moeykens awesome thanks I will try, and also another quick question how can I have users post videos in my app like Facebook ? Is it a lot of firebase storage ?
I'm not sure Emmanuel. I haven't done this before. Sorry. 😞
Mark Moeykens no problem
this video improved the performance of my app besides i was already using DispatchQueues. Compliments!
Oh, that's good to hear!
1.Mark can you make a video regarding best way to read apple docomentation library .
2.How to deal with new task that you haven't done before . What is best way to approach to solution when you stuck at some problem
I'm a college student .There's no one to guide . I just want to know how a expert (professional Developer) handles these type of issues . Can you make a video regarding
General way to approach any issue.
Hi Mark! Can you show how to put image or images inside the textView? textView.addSubview(imageView) just put image above the text. How can we place image in certain position? I tried to put textView and ImageView inside ScrollView, but its a pain with autolayout
That sounds interesting, I haven't done that before. I'll have to look into it.
amazing bro.. sweet and simple.. I am a follower now.. :D
Thank you!
Another great video. Thank you Mark!
Thank you!
When there's no dispatch block, how can we know if a line of code is execute on the main thread or in a background thread ?
Great question!
By default you are usually on the main thread. You can check by setting a breakpoint. When stopped at the breakpoint go over to the Debug Navigator pane on the left. You should see a bunch of Threads there. You know you're on the main thread if the Thread Queue name is something like "com.apple.main-thread".
You can also check Thread.isMainThread.
In your console (bottom, right side) type in: po Thread.isMainThread and it'll return true or false.
Or in code you can do: print("Is main thread? \(Thread.isMainThread)")
Hope this helps!
Thank you Mark !
How to make UIView size proportional for all devices?
Thanks Mark!
You're welcome 😊
Great work and great explanation! thank you so much.
You're welcome, Abdou!
Just started using code like this that on found on he web. Thank you for the explanation! :)
You're welcome, Rutch!
Do You have the source code or a GitHub code of this app so that we can work on it ourself and see it a bit better
Mark, you are a deity. .. .
Ha ha ha, well thank you, Alexander. That is quite a compliment! :D
Hey mark, I got this error after adding Facebook and Google Signin
runtime: UI API called from background thread: -[UIApplication delegate] must be used from main thread only
can you help me out?
I'm not sure, Lakshay. From the message I'm guessing some of the APIs are getting called from a background thread and the APIs might need the main thread because that is where UI work is done. So just make sure all APIs are called on the main thread. I have some videos on threading that should help you out here. Check them out.
Hi there, For me didn't work, yeah it downloads the info from a WS but when it turns back to Dispatch.main.async doesnt reload the data of my tableView :( ¿Does someone know what's going on?
great explanation :) Thank you!
No problem, Jeyhun!
great tutorial mate thank you
No problem. 👍🏼
i love your videos , very good explanation
Thank you
Thanks, Mohammed, I appreciate it. 😊
Thank you for the Videos, This is awesome. I think a lot of time IOS developers need to use Threading to communicate with API calls. If you could show us how to do that with your next video, which is closure. That would be awesome.
+jian su, ah man, that next video is already recorded but I'll keep it in mind for a future video.
wow you are fast! No worry, do whatever you like, it is your Channel. I am just suggesting topics :) Like I said, Parsing JSON from Api and put data to you Model class is another good topic too :) Hope you have a good day Mark! Thank you for making videos!
Oh yeah, Jian, that's a good idea. I had put together a sample project where I do a lot of that. You can see what it looks like on my Twitter: twitter.com/bigmtnstudio/status/841501742558670849
Video starts at 4:00
Too much helpful thanks
You're welcome, Zain! 👍
Sir plz make video on size classes, plz plz, you are the best teacher in the world
Hai Mark...
if i use Sync in above example why my UI is freezing...
if i use Sync will the task run on main thread... please clear my doubt
Srikanth, you want to make sure you're using "async", not "sync". Sync means "synchronous" which is only one thing can happen at a time, one after another. Async means "asynchronous" which means many things can happen all at one time.
@@bigmtnstudio what i understood is if i use sync the control stays in the same thread whether it is main or background.
thanks mark understood crystal clear.
This issue screwed me up at first--All UI has to be on the main thread. You have to switch back from the background thread.
Ha ha, yeah. And sometimes it'll work and then sometimes it won't and that inconsistency really messes with you in trying to figure out what is happening.
You are awesome man.
Thanks
You're welcome, Talha!
Great video
Thanks, Anand! ✊🏼
u r iOS Minister.. hhahhahha. amaizaing .. again great tutorial..
Thanks, Ketan! 😃
Thank you, this video helped me a lot :-)
You're welcome!
Thanks sir
You're welcome! 👍
Thanks Sir,
You are awesome ❤️😊
You're welcome!
great tut...fyi...the poster image has a spelling mistake. it spells THEADING...not THREADING
+Biren Patel, Ha ha, thanks, Biren! I fixed it. Had a friend tell me that too but I was at work and then went to a code group after work so I could not fix it until I got home. The shame...😳
+Biren Patel, there is also one more place in the video where I misspell it the same way again! I wonder if anyone has noticed.
Will be waiting for next video (Y)
I'm hoping to have it ready for tomorrow. 😀
Can we create our own threads other than main and global. If yes how we can do that
+sachin yadav, yes you can! I'm not at my computer though so I can't look it up to show you how. Maybe do a search to see.
Mark Moeykens thx I will look at stack overflow for that
Amazing!
Thanks, Lucas!
Thanks so much!
My pleasure, Noah.
Where did “.setup” come from ?
That's a function on the CharacterCell class. I created the CharacterCell: UITableViewCell to represent a row in the tableview so I can create outlets for the cell. Then I add that setup function which passes in the data and then inside the function it assigns values to all the outlets.
it doesn't work with getting data from the API
here is the code nothing wrong with fetchingSchedule function it works on the main perfectly
let url = "syntax-eg.esy.es/api/schedule"
DispatchQueue.global(qos: .userInteractive).async {
self.fetchingSchedule(url:url)
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
Awsome!! :)
Thanks!
DOOD!
This isn't an introduction to the Thread API in Foundation, this is just another GCD tutorial. I didn't find this helpful at all