First of all it's not bad to keep using what you know, if what you know works well and is the right way to do something. Like if you're very good with the delegate pattern, don't throw it out just because you heard closures are Betterâ„¢.
What I personally do is to use what I know well, and when some code feels clunky or I notice problems with it, I'll google the problem and be open minded about new solutions, even if they're really different. And I do a bit of research on the good ones (like 20 minutes or so), making sure they don't have other flaws and just ensuring they fit my use-case.
Case in point, I'm doing iOS development again for the first time since iOS 3 or 4, and when I started trying to use CAKeyframeAnimation again, it felt a bit difficult and didn't look all that great either. So I googled for ways to animate with a bounce effect in iOS, and found the newer UIView method to animate with a spring effect, and another solution using UIDynamicAnimator which was new to me also.
After like 5 or 6 hours of reading, googling, writing code, deleting code (custom segues turned out to be the wrong way to use it in my case), and lather rinse repeat, I finally ended up with not only a good end product, but the knowledge of how to use several new APIs and several new concepts. During that I also incidentally found out some cool Objective-C tricks that came out since I last used it.
Plus I felt really uncomfortable with understanding how ARC works (previously it felt like just a bit of magic to me), so I used the same principle of googling my questions & concerns about it, read some stackoverflow answers and blog posts for 20 or 30 minutes, and gained a much better / fuller understanding of ARC that gave me a lot more confidence writing code.
What I personally do is to use what I know well, and when some code feels clunky or I notice problems with it, I'll google the problem and be open minded about new solutions, even if they're really different. And I do a bit of research on the good ones (like 20 minutes or so), making sure they don't have other flaws and just ensuring they fit my use-case.
Case in point, I'm doing iOS development again for the first time since iOS 3 or 4, and when I started trying to use CAKeyframeAnimation again, it felt a bit difficult and didn't look all that great either. So I googled for ways to animate with a bounce effect in iOS, and found the newer UIView method to animate with a spring effect, and another solution using UIDynamicAnimator which was new to me also.
After like 5 or 6 hours of reading, googling, writing code, deleting code (custom segues turned out to be the wrong way to use it in my case), and lather rinse repeat, I finally ended up with not only a good end product, but the knowledge of how to use several new APIs and several new concepts. During that I also incidentally found out some cool Objective-C tricks that came out since I last used it.
Plus I felt really uncomfortable with understanding how ARC works (previously it felt like just a bit of magic to me), so I used the same principle of googling my questions & concerns about it, read some stackoverflow answers and blog posts for 20 or 30 minutes, and gained a much better / fuller understanding of ARC that gave me a lot more confidence writing code.