我的iOS学习历程 - OC第一天

来源:互联网 发布:社交平台源码 编辑:程序博客网 时间:2024/05/18 03:48

今天OC的第一天学习 主要是为了熟悉OC的操作和一些代码操作

1.OC的输出方法

    printf多了一个换行

    NSLog(@"这是OC的第一节课");

    @符是OC关键字的标志

    

2.C语言基本数据类型intfloatchar

     OC常用基本数据类型

     NSInteger 整形

     CGFloat 浮点型

     NSString

定义一个字符串,如果有*就代表这是一个对象  

 NSString *string =@"今天你吃了吗";

输出字符串

格式化输出占位符只要你是对象都可以用%@来占位   

NSLog(@"%@",string);

     // 基本数据类型用什么来当占位符

NSInteger number =5;NSLog(@"%ld",number);CGFloat score = 10.5;NSLog(@"%f",score);

#pragma mark --  用类实例出一个对象(创建一个对象)

    

3.创建对象分两个过程

      1.分配内存空间(堆区开辟空间需要管理的)

      2.对对象进行初始化

      创建一个人的对象

      根据使用方式来命名的方法

      减号方法(实例方法)(对象方法)使用对象来调用

      加号方法(类方法)使用类名来调用

      如何调用方法?

      OC当中调用方法使用中括号来调用  

 Person *p = [Person alloc];

<span style="font-size:18px;">[p init];// 对对象进行初始化Person *jDragon = [[Person alloc] init];</span>

new这个方法就相当于开辟空间并初始化

Person *p1 = [Person new]; 使用new的方法无法直接给其初始化赋值

    

3.调用SayHi方法

[jDragon SayHi];

给实例变量赋值 (给对象赋值)

jDragon->_name = @"姜龙";jDragon->_sex = @"男";jDragon->_age = 25;

前面如果有中文的话没提示   

NSLog(@"姓名:%@性别:%@年龄:%ld",jDragon->_name, jDragon->_sex, jDragon->_age);

       instancetype表示返回一个对象类型

      void *无类型指针可以转化为任何类型的指针

      id表示一个对象类型 (可以声明一个对象)instancetype是不行的只能做返回值


4. 利用自定义初始化方法创建一个对象  

Person *p1 =[[Person alloc] initWithName:@"姜龙" sex:@"男" age:18];

   // 介绍一下自己

<span style="font-size:18px;">[p1 SayHi];Person *p2 = [[Person alloc] initWithName:@"周杰伦" sex:@"男" age:18];Person *p3 = [[Person alloc] initWithName:@"晴天" sex:@"女" age:17];[p2 SayHi];[p3 SayHi];</span>

下面是类的特征和行为的代码

.h接口文件

@interface(接口文件特征)后面类名 : (继承自)父类NSObject

#import<Foundation/Foundation.h>

@interface Person :NSObject

{

1.添加一个关键字进行修饰表明实例变量的可见度    

@public关键字代表公开的意思

声明的实例变量(特称)要写一大括号

只要是特征名字要加下划线

<span style="font-size:18px;">@publicNSString *_name; // 姓名NSString *_sex; // 性别NSInteger _age; // 年龄</span>

}

2.中间写声明或者实例变量(特征)行为的声明

 行为(方法)

void sayHi();  //  C语言声明函数

 打招呼

- (void)SayHi;

重写初始化方法 重写的是父类的方法

重写的话一定要跟父类的方法名字一样返回值一样 参数一样只有方法的实现是不一样的

- (instancetype) init;

自定义的初始化方法

- (instancetype)initWithName:(NSString *)name

                         sex:(NSString *)sex

                         age:(NSInteger)age;

#import"Person.h"

@implementation Person

自定义的初始化方法

- (instancetype)initWithName:(NSString *)name                         sex:(NSString *)sex                         age:(NSInteger)age;{    // 对实例变量(特征)进行赋值    _name = name;    _sex = sex;    _age = age;    returnself;}

 一般重写的初始化方法写在最上面

-(instancetype)init{//  需要一个返回值//  self关键字在本类中表示本类的对象   return self;}

中间写行为(方法)的实现部分

打招呼的实现

-(void)SayHi{    // 介绍一下自己打印一下实例变量(特征)    NSLog(@"我是%@性别%@今年%ld",_name,_sex,_age);    }



0 0
原创粉丝点击