简介
//类方法调用
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 对应成员变量的类型,对应成员变量去掉下划线后的部分
作用:自动生成对应的成员变量的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使用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)