征战Objective-C
本文于 1634 天之前发表,文中内容可能已经过时。
Oc语言语法快速预览
源代码文件扩展名对比:
| 头文件 | 实现文件 | |
|---|---|---|
| c语言 | .h | .c |
| c++语言 | .h | .cpp |
| oc语言 | .h | .m |
| oc&c++ | .h | .mm |
类定义
// 类名SimpleClass 继承 NSObject 类
@interface SimpleClass : NSObject
@end类的属性申明
// 类名Person 继承 NSObject 类
@interface Person : NSObject
// NSString 类型的对象,因为前面有个 *(表示指针,指针指向一块堆内存)
@property NSString *firstName;
@property NSNumber *yearOfBirth;
// 基础类型
@property int yearOfBirth;
// 只读属性
@property (readonly) NSString * fristName;
@property NSString *lastName;
@end方法
减号方法(普通方法又称对象方法)申明
@interface Person: NSObject
- (void)someMethod;
- (void)someMethodWithValue:(SomeType)value;
- (void)someMethodWithFirstValue:(SomeType)info1 secondValue:(AnotherType)info2;
@end加号方法(类方法,又称静态方法)申明
@interface NSString: NSObject
+ (id)string;
+ (id)stringWithString:(NSString *)aString;
+ (id)stringWithFormat:(NSString *)format;
+ (id)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error;
+ (id)stringWithCString:(const char *)cString encoding:(NSStringEncoding)enc;
@end类的实现
#import "XYZPerson.h"
@implementation XYZPersion
@end完整的例子
// XYZPerson.h文件
@interface XYZPerson : NSObject
- (void)sayHello;
@end
// XYZPerson.m文件
#import "XYZPerson.h"
@implementation XYZPerson
- (void)sayHello {
// @ 表示这是一个 Oc 类型字符串,不加 @,表示是一个纯 C 语言的字符串
NSLog(@"Hello, World!");
}
@end
评论系统未开启,无法评论!