OC语言初步|青训营笔记

86 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第2天

objective-c & Xcode 基础

图源来自于上课课间,侵删。*

一、类的初步编写

1.@interface
介面:只有声明;没有实现;
可以声明:属性,变量,方法

以@interface开始@end结束
用花括号括变量 @property声明变量属性——见图

2.@implementation
类的实现,需要实现介面声明的方法但也可以private method仅限于本.m文件中调用

以@implementation开始@end结束
用花括号实现方法,可以定义interface中没有的方法作为私有方法

二、对象与构造函数

1.创建对象格式:
类名 对象名 = 「『类名 alloc』 init 」
等价于:
类名 对象名 = 「类名 new」

2.重写父类的构造函数

self= 「super init」self 这里是方法/对象(父类init的返回值)

[要用中括号括出 方法:类名 方法名]

3.带参构造

(instancetype)initWithName: (NSString * )name {
self = [super init];
if (self) {
self.name = name;
NSLog(@"A ByteDancer, %@ Joined!", name);
return self;

注:instancetype意思为实例化,instancetype与和id一样,都可以指向一个继承了Object(或者NSObject)类的对象,具体重写方法与在重写父类的构造函数

image.png 带参构造方法:类名 “*”对象名 = 「 『类名 alloc』 initWithName(带参构造方法名):参数(字符串为@“字符串内容”)」
注:其中@表示为某种对象

4.具体函数方法格式

image.png 方法类型 (返回值类型) 方法名标签:(参数值类型)参数名 方法名标签:(参数值类型2)参数名2
两个参数值中间的也属于方法名标签!!!不是啥特殊标记

5.双参数方法的声明与实现的具体案例

(void) sayHello;
(回传值)方法名:(参数1类型)参数1标签:(参数2类型)参数2

  • (void) groupWith: (NString * )name;
  • 返回对象
  • (ByteDancer * )groupWith: (NSString * )name andWith: (NSString * )name2;
  • 类方法(静态函数)
  • (int) staticFunction;
  • 以上四种不同的方法类型

image.png 四种不同的方法类型的具体实现

未完待续