IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Xcode Objective-c学习笔记 -> 正文阅读

[移动开发]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];//查找字符串,从右往左

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-11-25 08:13:48  更:2021-11-25 08:15:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:40:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码