import和include的区别
import引入的头文件,可以防止重复包含
include引入的头文件通过预处理指令防止重复包含,如果没有写预处理指令,则不能防止重复包含。
#pragma mark的使用:
对代码进行分类,方便查找和管理。
#pragma -
在代码块列表上添加一根横线。
NSString 字符串长度计算方法:
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *str = @"BasketBall Never Stop!";
NSUInteger length1 = [str length];
NSLog(@"长度=%ld",length1);
}
return 0;
}
OC对象练习:
#import <Foundation/Foundation.h>
@interface Person:NSObject
{ @public
NSString *_name;
int _age;
float _weight;
}
@end
@implementation Person
-(void)eat:(NSString*) foodName{
_weight += 0.6f;
NSLog(@"您吃了%@",foodName);
}
-(void)walk:(int) num{
_weight -= num/100 * 0.2f;
NSLog(@"您走了%d步,当前体重为%.2f",num,_weight);
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person *p = [Person new];
//设置对象的实例变量值
p ->_name = @"摆摆";
p ->_age = 18;
p ->_weight = 180.0f;
[p eat:@"麻辣烫"];
[p eat:@"回锅肉"];
p ->_age = 18;
[p walk:888];
}
return 0;
}
字符串比较函数:
1)字符串比较大小
字符串根据排列顺序的不同,会有大小的差异,如果我们要比较两个字符串的大小的话,可以使用compare方法
compare 方法的返回结果有三种:
NSOrderedAscending 升序(前面字符串小于后面字符串)
NSOrderedSame 相等
NSOrderedDescending 降序(前面字符串大于后面字符串)
str1 > str2 NSOrderedDescending 1
str1 < str2 NSOrderedAscending -1
str1 == str2 NSOrderedSame 0
2)比较字符串大小,指定条件
如果忽略大小写的话,可以在options 里面加一个参数 NSCaseInsensitiveSearch;具体如下:NSComparisonResult result2 = [str1 compare:str2 options:NSCaseInsensitiveSearch];
常见的有三个:
NSCaseInsensitiveSearch = 1,(不区分大小写字符)
NSLiteralSearch = 2,(进行完全比较,区分大小写。<默认>)
NSNumericSearch = 64,(比较字符串的字符个数,而不是字符值)
3)判断字符串是否相等
思考&实现:
字符串判断相等是否能够使用“==”进行判断?
//“==” 不能够判断字符串是否相等的
//判断字符串内容是否真正相等,使用的是isEqualToString:
//isEqualToString: 是区分大小写的
*/
#import <Foundation/Foundation.h>
void test(){
NSString *str1 = @"abc"; //a 97
NSString *str2 = @"Abc"; //A 65
//取出每个字符的ASCII码值,比较ASCII码值的大小
//compare 比较大小
//compare 默认的区分大小写
//compare 这个函数不能增加条件
// NSComparisonResult result = [str1 compare:str2];
//比较的时候不区分大小写的方法 NSCaseInsensitiveSearch,还参考字符的个数NSNumericSearch
//
NSComparisonResult result = [str1 compare:str2 options:NSCaseInsensitiveSearch | NSNumericSearch];
//
switch (result) {
case NSOrderedAscending:
NSLog(@"str1 < str2 升序");
break;
case NSOrderedDescending:
NSLog(@"str1 > str2 降序");
break;
case NSOrderedSame:
NSLog(@"str1 == str2 相等");
break;
default:
break;
}
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *str1 = @"abc"; //a 97
NSString *str2 = @"Abc"; //A 65
NSString *str3 = [NSString stringWithFormat:@"Abc"];
//地址的比较
//“==” 不能够判断字符串是否相等的
//判断字符串内容是否真正相等,使用的是isEqualToString:
//isEqualToString: 是区分大小写的
if ([str1 isEqualToString: str3]) {
NSLog(@"相等");
}else{
NSLog(@"不相等");
}
}
return 0;
}