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