iOS 进阶开发如何学习?有什么完整的开源项目或者 CocoaTouch 进阶教程吗?

2014-08-08 12:24:07 +08:00
 WildCat
自己接触iOS有一段时间了,但是感觉还是入门水准,Amazon上能看的中文书籍全是入门,都是最基本的CocoaTouch调用,没有自己进阶开发的内容。

现在正赶上iOS7->iOS8交替的时候,很多iOS7的实现都已经废弃,看资料的时候也是比较纠结。

我不知道如何描述我的需求,以达令礼物店的这个效果举个例子:


圆形的区域是个SegmentedControl,需要有滑动效果,这个在CocoaPods里有现成的(HMSegmentedControl),但是我想修改一下效果,但是读起来很费劲。
另外就是下面的TableView和它外面的ParentView(方形区域),TableView的ParentView应该是一个ScrollView的子类,用来响应SegmentedControl点击或者自己左右滑动的,这个的实现我以前是用DRPaginatedScrollView来做,但是它依赖一个Masonry,我不知道用这个好不好,是否太重,所以很纠结想自己实现。

不知道前辈们有什么看法,现在写起来很纠结,一两天都没什么进度。
6874 次点击
所在节点    iDev
14 条回复
ylkk925
2014-08-08 12:51:33 +08:00
看样子,你还没有自己的知识体系,谈一下我的建议。

学基础,这里的基础是指Cocoa的构建基础,比如响应链的构成,控件的继承关系(特别是协议的实现),视图的层级结构,layer的层级结构等;你所要应用的知识是属于哪个框架,这个你要弄清楚;再往深一点,你可以了解设计模式在Cocoa中的应用,Runtime,Runloop等。

你要学习的ios开发知识,官方文档远远足矣(苹果的官方文档相当不错的),很多人都不读,碰到问题就google,stackoverflow,解决的都是小的知识点,难以提高;学技术就像读书一样吧,你可以从开发语言和系统框架入手,然后选择某个点多花时间学习,就是所谓的精读和泛读结合;阅读优秀的第三方库也是很重要的,难以掌握,说明积累的不够。
WildCat
2014-08-08 12:59:55 +08:00
@ylkk925
感谢。

不想读官方文档的原因在于不知道以什么顺序和速度去读,举个例子:
https://developer.apple.com/library/ios/navigation/#section=Frameworks&topic=UIKit
UIKit的文档,到底从哪里开始呢?
chisj
2014-08-08 13:03:00 +08:00
请参看巧哥的博客: http://blog.devtang.com/blog/2014/07/27/ios-levelup-tips/
iOS开发如何提高。
其实我觉得任何技术都应该差不多,那就是潜心研究,多花时间多踩坑,有一定的积累量才会带来质的进步。CocoaTouch也一样的,甚至还更方便,因为现在资料很多,很全面。
hoogle
2014-08-08 13:23:47 +08:00
一般这样的效果自己实现。。 就是几个button,和根据scrollView的offsetX变化位置的view。。
railgun
2014-08-08 14:00:34 +08:00
@WildCat 先看两个指南:
View Programming Guide For iOS
View Controller Programming Guide For iOS
看苹果的文档不要从参考(Reference)开始看,从指南(Guide)开始看。
一般你看到一个具体类的时候,如果有相关的指南都会有链接直接跳过去的
ylkk925
2014-08-08 14:22:48 +08:00
@WildCat

5楼的方法很好,读Guide;碰到比较重要,但文档说明不够的知识点,基本上可以找到相应的书籍和博客来补充。
0x001
2014-08-08 15:29:53 +08:00
苹果的framework首先要熟悉,然后就要多看别人的App, blog, 自己模仿实现。 然后就是多读开源的代码, 看多了就知道细节了。 比如你说的那个HMSegmentedControl, 慢慢把它消化指,然后自己实现一遍。

写代码要达到越写越少的境界。
TimLang
2014-08-08 16:04:24 +08:00
最近也在学ios,1楼说的基础体系确实重要,我入门就开始用故事板了,看的开源项目都没用故事版的,自己摸索,走了很多弯路。。
jetbillwin
2014-08-08 20:32:20 +08:00
使用UIScrollView就可以实现,然后可以使用SegmentedControl来控制ScrollerView的切换。不知道UIPageControl可以定制不,如果可以的话,可以自己定制,应该可以。作为写RubyMotion的我来说,遇到问题都是直接搜Objective-C的解决方案,然后看OC的代码。搞得我现在感觉都会写OC
-_-#
Madimo
2014-08-16 20:21:10 +08:00
WildCat
2014-08-16 21:24:01 +08:00
@Madimo 我知道喵神和巧哥哇~妹纸
dopcn
2014-08-19 23:52:47 +08:00
我也似乎算处在需要进阶的阶段,入门半年。
我觉得这个阶段有两个方面要做:
1. UIKit Foundation等的深入,这方面我觉得就是实践中不断的学习,做自己的项目
2. 代码优化。代码的层次:可编译-可用-可测试-可重用,这个方面应该进入更大的程序员的世界而不是 iOS 程序员的世界去学习
dopcn
2014-08-20 13:18:33 +08:00
补充一个交流也很重要,iOS 新手开发交流群欢迎你:345117452
本群比较水,能从水里捞出鱼是自己的本事之一,没有自制力慎加
WildCat
2014-08-20 13:58:18 +08:00
@dopcn IM是效率杀手,感谢好意,但是我肯定要避免这种方式。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/126738

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX