从去年12月买了Mac自学iOS已经近四个月了,怎么说呢,因为之前有java的开发经历,所以学起来也不费劲,基本的东西看看就明白了,在这里就记录些自己的学习的经历和方法技巧。自己建了个QQ群341243708,有喜欢交流的可以在群里讨论,目前还没人。
总而言之,言而总之,我认为初学者iOS开发最难的一点就是分不清,view,viewcontroller和类。(mvc的设计模式已经深入了iOS的框架,而不是像javaweb那样model,view层,dao层这样代码间的设计)。理解了MVC的精髓也就学会了iOS的开发模式。(当然也有把V层再分层的做法,这是后话了)看别人的代码写在viewDidLoad里怎么写怎么出来结果,可是让自己写,傻了,写进去出不来效果。(最起码我开始的时候就是这样的)。最后自己分析了一番,才渐渐豁然开朗。
大家应该记住一句话,先设定控制器,再往控制器中添加view。再往view里设置数据。(要记住,创建添加view时一定要设置大小,位置,(当然有些系统默认的不需要),自定义的都得设置,然后在view中引入model来设置数据。大部分时候混乱的主要原因就是view在controller里创建,导致controller和view两者这件耦合性太高,代码也极度混乱。)
所有的view时怎么显示在界面上的呢,大家都知道每个程序都有main函数入口,不过完全可以不管它,而写程序的入口一般都在AppDelegate中的(其中有六个方法,建议大家应该分析每个方法的加载时间和用途),其中第一个,算是最重要的一个就是这个。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//写应用程序启动后执行的代码
}
现在都iOS8,Xcode6.2了,storyboard早已经在默认创建项目时就有,
如果是使用storyboard,默认的根控制器就是当前storyboard所设置的控制器类,可以自定义一个UIViewController如图,选择自定义的controller即可。
启动程序后,页面显示的就是对应的controller中加的视图,可以做一些启动时的动画或者判断什么。然后在切换控制器来进行后续的视图显示。
如果是纯代码话。设置controller的代码应改写在
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//写应用程序启动后执行的代码
}
例如:通过window设置跟控制器
if(条件){
self.window.rootViewController =[[LYTMainControlleralloc]init];
}else if(另外条件){
self.window.rootViewController =[[LYTOneController alloc]init];
}然后可以通过切换根控制器来控制各种控制器之间的切换,一定要记住一点,根控制器只有一个。通过设置根控制器对应的控制器来实现控制器之间的切换。
通过这么多天的自学,感觉学好iOS开发,首先要把oc学好,然后好好看看学学uikit,大部分常见的类应该都做一个了结。很多情况下并不是做不出来,也不是不会做,而是对API不了解,不清楚有方法或属性,我也以后会好好为大家分析一下UIKit,把自己的总结,分享给大家。另外有不足之处,希望网友可以指正,总结仅仅是为加深自己对iOS的理解。有志同道合的希望可以相互交流。