Shoot the breeze

Unconsciously engaged in iOS development for more than a year, in this year, the growth is relatively fast, at least single projects, solve the bugs in the project or can. First of all, I would like to thank my brother cheng, who introduced me to the world. I would like to thank him for his selfless teaching of my skills, and more importantly, for teaching me how to think and solve problems. Before I didn’t know the sky and the sky, I thought iOS development was so serious, but with the official documents of Apple and the blog of the gods, NOW I think of myself at that time.

Recently, I suddenly have an impulse to write blog, because I want to accumulate some experience in iOS development. But because I only know iOS development, I don’t know much about website technology, so I am too lazy to open my own domain name and submit it for record. Therefore, I chose “Jane Book”, “find the power of words”, Jane book’s slogan attracted me.

In the past year and more, I have also done 6 projects, including the one I am doing now. Three of them followed Brother Cheng. After leaving brother Cheng, I picked three projects, all of which were relatively small. If you’ve done several projects, all of the same type, that didn’t involve difficult skills (IM, BLE, etc.), you’ll come back to the project and it won’t be that difficult because a lot of the stuff is reusable, Compare some commonly used macros, network requests, data parsing, data storage, custom controls, simple logic processing (PERSONALLY, App development should follow the “cloud heavy end light”, that is, mobile end light, server side heavy, some important logic processing should be put on the server side, improve App fluency). Of course, if you have a strong technical compulsion to add security precautions in the code, considering the number of concurrent requests from users at the same time, then this door is relatively deep, you have to study.

Interest & Learning

“Interest is the best teacher.” In the past, I just completed the task according to the boss’s instructions. I thought that if I finished the task, I would be ok and then I could do other things. In fact, once in my mind sometimes still want to escape programmer this occupation, because, when programmers really very helpless pain ah, often to work overtime, to quarrel with PM, to scold UI, with the test argument, the boss only see the results, he just no matter how long you add the class……. But when I think about it later, I think it’s good to be a programmer, the salary is reasonable, and I feel a sense of accomplishment when I can complete a difficult function. So I slowly cultivate their interests in the subconscious, when you completely like the iOS development, you will forget a lot of happy in a job (what is working overtime, what’s wrong with the product design has a problem, the server is not matching search for what happened, test how, how the application often collapse), when you can stick to, As long as the functional effect achieved their desired effect is OK. Of course, this kind of interest comes gradually with my sense of achievement (maybe my requirement is low and easy to satisfy, as long as I find a good Demo on Github).

As you know, the IT industry changes quickly and knowledge is wide. You can’t just know the language of your field. You should at least know other languages as well. You may write hundreds of lines of code to complete a function, someone else only need a dozen lines of code, dude, this is the difference, when you look at someone else’s code, it is very likely to say: “Fuck, I can do that, how am I so stupid”. Don’t you have a little idea that other people are writing programs that look amazing, have such a great user experience, and have such a high number of downloads? Of course, product design has an impact on the number of downloads, but programmers should try to treat their code with high standards. If you want to improve your skills, then you have to study and work hard.

My way of learning

I used to only know about CocoaChina and Code4App, and would only look for code there if an effect in the project didn’t work.

GitHub

Now I often visit GitHub, because Code4App and CocoaChina find many demos from GitHub. You can follow some Daniu, and then Daniu will star some projects every day, which will be displayed on the home page. At this time, you can also go to see daniu star projects. It’s creepy, but you can see a lot of code out there.

CocoaChina

Although much of the code on CocoaChina is borrowed from GitHub, it is of high quality and is uploaded by CocoaChina members. You can also ask questions above to see the latest information about Apple. Of course, programmers’ free time is always limited, so I think as long as I keep reading the news in the middle of CocoaChina’s homepage every day, I will probably know what happened today and what awesome code there is. I personally like CocoaChina ina few columns, you can also try: weekly content review, weekly article review, forum source recommendation, development resources summary, weekly essence, tool source recommendation.

stackoverflow  && segmentfault

Stackoverflow, is a foreign web site, to solve the problem of programming project problems encountered in general can be found, as we all know, programming niubable man foreign developers, if you have questions, you can go to search keywords above, English has a problem, you can find a youdao dictionary, general problems can be solved, even if you don’t understand, If you can always read the code, go straight to the code in the project, and when the problem is solved, you can slowly understand it yourself.

Segmentfault is a website where you can ask questions. I’ve asked questions on it and they’ve all been solved.

Daniel blog

In fact, The big bull developer blog is marked on The GitHub of Tang Qiaogod: list of domestic big bull blogs. I often go to: Cat god, boat brother, no net not left, Tang Qiao. Of course, personal hobbies are different, when solving problems, you can find these top big blog, they are engaged in iOS for a long time, some understanding is relatively deep, can easily speak out other principles. Of course, in addition to tang Qiao enumerated, there are Yangshen, on the bottom of iOS things written very well, Baidu’s big cow. In addition to blogs, you can also follow their GitHub, Weibo, Twitter, of course, you can see my Weibo followers of the top iOS developers, they tend to share some technology, news.

Study abroad website

Nshipster, Nshipster Chinese. Explain some neglected objective-C, Swift, and Cocoa features. AF author Mattt Thompson is the main manager editor of Nshipster, but he resigned from the main editor on January 5, 2015, and now the main editor is another big star abroad.

Objc, objCCn China. Objccn is maintained by Niu Maoshen and other domestic developers.

Cocoa controls. A site to share iOS and Mac controls.

Of course, there are some in the tour of Daniu blog, blog has proposed foreign sites.

www.raywenderlich.com/     

www.cocoanetics.com/

www.bignerdranch.com/

oleb.net/blog/

ios-blog.co.uk/

maniacdev.com

Apple Official Documents

In fact, the most important thing is to read the official documentation, of course, you can also go to the Apple developer website to find. Of course, there is an easier way to see the use of a class and the associated code directly in Xcode. Let’s say I don’t know how to use NSObject, so after I write this class in Xcode, I place my mouse over NSObject, and then HOLD down the Option key, and when the mouse triangle turns into a question mark, this is what happens.




Xcode shows

Once Declared In is clicked, the description of the class will be displayed In Xcode.

When clicked, it will be displayed in The Apple Document. In addition to the introduction of the class, you can also get the example code used by the class.




The Document display

Sample code, for example, is the official Demo of this class provided by Apple. You can click in and then click Open Project to open the project. After success, the project will be automatically downloaded.

conclusion

The first time I wrote something like a summary, I wrote it for about two hours. In the development process, we must contact With English, of course, I have a lot of pressure for just passed the cet-4. However, the program development of foreign than domestic to cattle force, many excellent domestic blog, are translated from foreign, or reference to foreign, so it is necessary to learn English for our programmers.

The summary is not very good, welcome to ridicule.