IOS学习总结1

2012-09-09 21:30

IOS学习总结1

by

at 2012-09-09 13:30:00

original http://blog.lovemaple.info/blog/2012/09/09/learning-ios-summary-1/

这里主要是自己学习基本的Objective-C语法和Xcode使用的总结。

Objective-C

简介

Objective-C是一个混合类型的面向对象编程语言。

之所以说他是混合的是因为静态类型和动态类型的编程方法在Objective-C中都很常见——Objective-C是C的超集,本身就有各种类型的声明,然后Apple给他添加了id这个可以代表一切的动态类型。

基本语法

我们用一段代码来演示他的基本语法特性,一个类的声明/实现文件。

1
2
3
4
5
6
7
8
9
// In the .h file:

@interface MyClass {
    // My Instance Variables
}

- (void)myPublicMethod;
+ (void)myClassMethod;
@end

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// And in the .m file:

@interface MyClass ()

- (void)myPrivateMethod;

@end

@implementation MyClass

- (void)myPublicMethod {
    // Implementation goes here
}

- (void)myPrivateMethod {
    // Implementation goes here
}

+ (void)myClassMethod {
    // Implementation goes here
}

@end

Obj-C的声明在.h文件中,实例变量、实例方法和类方法的声明都放在他里面。

.m文件中,我们需要给出实例方法和类方法的实现。代码非常的简单,然后我只对.m文件里面出现的@interface做简单的解释,因为在.h文件中声明的方法都是共有的,所以为了实现私有化,我们将它放到了.m文件中进行。

accessors and mutators

在java里面,他叫做getters and setters,Obj-C中仅仅是换了个名字而已。

如何在Obj-C中为实例变量设置accessors and mutators呢?Apple早已为我们提供好了语法糖。分别在.h.m中使用@property int var@synthesize var = _var即可。

详细的可以参考Apple的开发者文档——Declared Properties

继承

子类化在IOS开发中非常常见,因为你的每一个view的controller类都必须继承UIViewController

1
2
3
4
5
#import <UIKit/UIKit.h>

@interface MyViewController : UIViewController

@end

那么多重继承呢?Obj-C中是不允许多重继承的,但是他采取了同Ruby/Python一样的策略使用了Mixin,不过Apple给他换了个名字叫Protocols

Xcode

不得不说,Xcode是我用过的IDE中最好的,没有之一。静态类型的补全依靠编译器,Xcode早已做到。NB的是Xcode还有代码片段补全以及括号补全,他们的完成都只需要简单的tab键。

下面介绍几个使用括号补全的技巧:

在大括号后面按回车可以补全大括号

1
2
- (void)myFunction
{

效果

1
2
3
4
- (void)myFunction
{
    _
}

多重括号时只需要输入一个括号。

如下在init后按下]时Xcode会自动帮你添加好前面的括号。

1
myArray = [NSArray alloc] init_

1
myArray = [[NSArray alloc] init]_

有用的快捷键

  • Ctrl+I -> Indent Codeblocks
  • Ctrl++up/down -> switch between .h and .m files
  • Ctrl++left/right -> switch to next/previous window
  • Ctrl++E -> rename a variable in a scope
  • Ctrl++J -> jump to definition
  • +/ -> comment/uncomment code blocks
  • Alt+click -> show info about the clicked name

如何获取学习资料

Apple自带的文档确实很漂亮,看这些文档已经足够,看不进去时,Youtube视频也是很好的补充。你不用买市面上的任何一本书籍,Apple和M$不一样,他对开发者非常的友好。

最后推荐下tiny4cocoa,里面有tiny制作的IOS开发视频。