Xcode Objective-c学习笔记

Objective-c

简介
在这里插入图片描述
在这里插入图片描述

基础用法示例
  //类方法调用
        FirstClass *sampleClass = [[FirstClass alloc] init];
        [sampleClass sayHello];
        //定义变量  注意驼峰命名、
        int  _appName;
        char characterA = 'A';
        //类型转换
        float floatNum = 1.2;
        int intNum = (int)floatNum;
        NSLog(@"%d",intNum);
        //常量和变量
        //变量
        int pearCountA = 1 ;
        //常量 const关键字定义 /预编译定义常量#define MATH_PI 3.12
        const float PI = 3.1223;
        //日志信息打印
        /*
         1.输出字符类型
         2.输出char类型
         3.输出double类型
         4.输出int
         5.输出16进制
         */
        NSLog(@"-----字符串 \n");
        NSLog(@"-----char类型 %c \n",'A');
        NSLog(@"-----double类型 %d \n",'A');
        NSLog(@"-----int类型 %i \n", 1212323);
        NSLog(@"-----16进制 %X \n", 12323);
        NSLog(@"-----8进制 %O \n", 12222);
        NSLog(@"-----float类型 %f \n",3.12322333);
        NSLog(@"-----float类型保留三位 %.3f \n", 3.1234433333);
        NSLog(@"----- %s \n","Objective-C");
        NSLog(@"----- %@ \n",@"Swift");
        /*
         算术运算符的使用:
         +、-、*、/、++、--、取余%
         关系运算符的使用:
         判断相等 ==
         判断不等 !=
         >、<、>=、<=、
         逻辑运算符
         && 、||、!、
         位运算符
         &、|、^、~、<<、>>、
         赋值运算符使用:
         +=、-=、*=、/=、%=、<<=  >>=、&=、|=、^=
         a>b ? a: b
         */
       //for的用法
        NSArray *week = [[NSArray alloc] initWithObjects:@"AA",@"BB",@"CC",@"DD",@"EE",@"FF",@"kk" ,nil];
        for(int i = 0; i< week.count; i++){
            NSLog(@"-----: %@", week[i]);
        }
        for (NSString *day in week) {
            NSLog(@"=====: %@", day);
        }
        [week enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
            NSLog(@"%zi--->%@", idx, obj);
        }];
        NSEnumerator *en = [week objectEnumerator];
        id elem;
        int j = 0;
        while (elem = [en nextObject]) {
            NSLog(@"%d--->%@",j,elem);
            j++;
        }
        /*
         break  跳出循环
         continue 忽略这一次
         return  结束循环
         */

Xcode + Objective-c 使用

//command+R 运行
//command+B 编译 只编译.m文件
//command+N 创建新界面
//<>引用的是系统库
//""引用的是自己定义的类
//.h文件只负责声明不实现
//.m文件实现声明的方法

赋值和取值

set方法 -(void)setAge:(int)age;
get方法 -(int)age;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

类方法使用

1.对象方法
由对象调用
以- 号开头
可以直接使用成员变量
可以调用自己的对象方法和类方法
2.类方法
由类名调用
以+ 号开头
不可以直接使用成员变量
用作工具方法
只能调用自己的类方法,不能调用自己的对象方法
示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点语法的使用

实际上就是set、get、方法,只是书写的格式不同。(点语法只能用于set、get方法)示例
在这里插入图片描述

@property 的使用

解释: @property 对应成员变量的类型,对应成员变量去掉下划线后的部分
作用:自动生成对应的成员变量的set、get方法的定义
示例
在这里插入图片描述
在这里插入图片描述
加强版示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

继承的使用

重写:当子类与父类有同名的方法时,优先执行子类中同名的方法,将这个过程称为重写。
重写原理:首先在本类中寻找这个方法,找到执行,没有找到再去直接父类中查找,找到就执行,没有再去上一级父类中寻找,直到找到NSObject类为止,找到就执行,没有找到说明没有这个方法
重写的目的:为了在与父类同名方法中完成一些属于自己的功能

字符串的使用

self:1.用来表示OC中的类名或者是对象指针
2.self可以调用方法和成员变量
3.self禁止用自己,可能造成死循环
%d 、%f、基本 数据类型的占位符
%@ 对象的占位符
stringWithFormat方法 格式化拼接字符串
在这里插入图片描述
description方法:是描述对象的方法,当我们用%@打印对象的时候,其内部实际上是调用的description方法
重写description方法的目的:当一个对象的属性值很多时,并且都需要打印,那么就重写description,达到简化代码的目的。
在这里插入图片描述
多态:一种事物的多种形态
前提:继承
没有继承就没有多态
多态在代码中的体现即父类指针指向子类对象

字符串进阶

//求长度
NSUInteger len = [string length];
NSLog(@“len = %lu”,len);
//取其中一个字符,下标从0开始
char a = [string characterAtIndex:1];
NSLog(@"%c",a);
//比较两个字符串是否相等
BOOL isE = [string isEqualToString:string2];
//比较两个字符串的大小,区分大小写
NSComparisonResult result = [string compare:string2];
升序 NSOrderedAscending
相等 NSOrderedSame
降序 NSOrderedDescending
//比较两个字符串的大小,不区分大小写
NSComparisonResult result1 = [string compare:string2 options:NSCaseInsensitiveSearch];
//大小写转换
NSString *string3 = [string uppercaseString];//大写
NSString *string4 = [string2 lowercaseString];//小写
NSString *string5 = [string2 capitalizedString];//首字母大写
NSRange range = [string rangeOfString:@“da ye” options:NSBackwardsSearch];//查找字符串,从右往左

可变字符串

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数组(不可变、可变)
  /*不可变数组*/
    NSArray *array = @[@"aa",@"bb",@"cc",@"dd",@"ee"];
    NSLog(@"Array = %@",array);
    //对象方法创建数组
    NSArray *array2 = [[NSArray alloc] initWithArray:array];
    NSArray *array3 = [[NSArray alloc] initWithObjects:@"wo",@"shi",@"wz",@"ss", nil];
    //类方法创建数组
    NSArray *array4 = [NSArray arrayWithArray:array];
    NSArray *array5 = [NSArray arrayWithObjects:@"wo",@"shi",@"wz",@"ss", nil];
    //求元素个数
    NSArray *array6 = @[@"zhe",@"shi",@"yi",@"ge",@"oc"];
    NSUInteger count =[array6 count];
    NSLog(@"%lu",count);
    //按下标取一个元素
    NSString *str1 = [array6 objectAtIndex:3];
    NSLog(@"string1 = %@",str1);
    //取最后一个元素
    NSString *str2 = [array6 lastObject];
    NSLog(@"stringlast = %@",str2);
    //取第一个元素
    NSString *str3 = [array6 firstObject];
    NSLog(@"stringfirst = %@",str3);
    //取多个元素
    NSArray *array7 = [array6 subarrayWithRange:NSMakeRange(1,2)];
    NSLog(@"Array4 = %@",array7);
    //遍历
    for (NSString *str4 in array6) {
        NSLog(@"%@",str4);
    }
    //数组拼接
    NSString *str5= [array6 componentsJoinedByString:@"&&"];
    NSLog(@"stringCOM = %@",str5);
    //字符串分割
    NSArray *array8= [str5 componentsSeparatedByString:@"&&"];
    NSLog(@"stringSEP = %@",array8);


    /*可变数组*/
    //创建可变数组
    NSMutableArray *arrs = [[NSMutableArray alloc]init];
    //对象方法创建
    NSMutableArray *arrs1 = [[NSMutableArray alloc] initWithArray:@[@"zhe",@"shi",@"bj",@"chao",@"yang"]];
    //类方法创建
    NSMutableArray *arrs2 = [[NSMutableArray alloc] initWithObjects:@"wo",@"zai",@"xue",@"xi",@"ios", nil];
    //通过已存在的数组创建可变数组
    NSMutableArray *arrs3 = [NSMutableArray arrayWithArray:arrs1];
    NSMutableArray *arrs4 = [NSMutableArray arrayWithObjects:@"wo2",@"zai2",@"xue2",@"xi2",@"ios2", nil];

iOSUI使用

猜你喜欢

转载自blog.csdn.net/u010689434/article/details/121490178
今日推荐