OC基础知识 -- 常见类的一些方法

这篇博客详细介绍了Objective-C中的基础类,包括NSString的初始化、操作字符串的方法,NSMutableString的修改操作,NSArray和NSMutableArray的创建及操作,NSNumber的数值转换,NSValue的结构体转换,NSDictionary和NSMutableDictionary的字典操作,以及for in遍历,NSSet和NSMutableSet的集合操作,数组和字典的排序方法,最后讲解了NSDate的时间处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NSString

1.自定义初始化

NSString *str1 = [[NSString alloc] initWithFormat:@"Hello World"];

2.便利构造器

NSString *str2 = [NSString stringWithFormat:@"Hello LanOu"];

3.语法糖

NSString *str3 = @"Hello World";

4.字符串长度

NSUInteger length = [str3 length];
NSLog(@"%lu",length);

5.获取子字符串

    NSString *str41 = [str3 substringFromIndex:6];
    NSString *str42 = [str3 substringToIndex:5];
    NSRange range = NSMakeRange(0, 5);
    NSString *str43 = [str3 substringWithRange:range];
    NSLog(@"%@ %@ %@",str41,str42,str43);

6.字符串拼接

NSString *str51 = [str3 stringByAppendingString:@"!"];
NSString *str52 = [str3 stringByAppendingFormat:@"%d",666];

7.字符串替换

    NSString *str61 = [str3 stringByReplacingOccurrencesOfString:@"World" withString:@"LanOu"];
    NSRange range1 = NSMakeRange(0, 5);
    NSString *str62 = [str3 stringByReplacingCharactersInRange:range1 withString:@"LanOu"];

8.判断字符串相等

BOOL result = [str3 isEqualToString:@"Hello LanOu"];

9.判断前缀和后缀

BOOL result1 = [str3 hasPrefix:@"Hello"];
BOOL result2 = [str3 hasSuffix:@"World"];

10.字符串比较

NSComparisonResult result3 = [str3 compare:@"Hello LanOu"];

11.字符串大小写转换

    NSString *str71 = [str3 uppercaseString];
    NSString *str72 = [str3 lowercaseString];
    NSString *str73 = [str3 capitalizedString];

NSMutableString

1.自定义初始化法

NSMutableString *string1 = [[NSMutableString alloc] initWithString:@"freedom"];

2.便利构造器

NSMutableString *string2 = [NSMutableString stringWithString:@"freedom"];

3.拼接字符串

[string1 appendString:@"Life"];

4.插入字符串

    [string1 insertString:@"My" atIndex:7];
    NSLog(@"%@",string1);

5.替换字符串

    NSRange range2 = NSMakeRange(9, 4);
    [string1 replaceCharactersInRange:range2 withString:@"haha"];
    NSLog(@"%@",string1);

6.删除字符串

    NSRange range3 = NSMakeRange(7, 2);
    [string1 deleteCharactersInRange:range3];
    NSLog(@"%@",string1);

NSArray

1.自定义初始化

NSArray *arr1 = [[NSArray alloc] initWithObjects:@"long",@"wen",@"yang",@"zhuang", nil];

2.便利构造器

NSArray *arr2 = [NSArray arrayWithObjects:@"feng",@"huo",@"lei",@"guang", nil];

3.语法糖

NSArray *arr3 = @[@"王龙",@"张雯",@"壮壮",@"许阳"];

4.元素个数

NSUInteger count = [arr3 count];

5.打印数组

    for (int i = 0; i < count; i++) {
        NSLog(@"%@",arr3[i]);
    }

6.获取数组的第一个和最后一个元素

NSString *firstString = [arr3 firstObject];
NSString *lastString = [arr3 lastObject];

NSMutableArray

1.初始化数组

NSMutableArray *array1 = [NSMutableArray array];

2.添加元素

[array1 addObject:@"王龙"];
[array1 addObject:@"小龙"];
[array1 addObject:@"大龙"];

3.删除元素

[array1 removeObject:array1[1]];

4.插入元素

[array1 insertObject:@"中龙" atIndex:1];

NSNumber

1.把整形转化成NSNumber对象型

NSNumber *number1 = [NSNumber numberWithInt:5];

2.把对象类型转化成整型

int a = [number1 intValue];

NSValue

把结构体转化成对象类型

NSRange range4 = NSMakeRange(2, 2);
NSValue *value = [NSValue valueWithRange:range4];

NSDictionary

1.利用两个数组初始化一个字典

    NSArray *dicArray1 = @[@"name",@"sex",@"age",@"number"];
    NSArray *dicArray2 = @[@"long",@"nan",@"18",@"111"];
    NSDictionary *dic1 = [[NSDictionary alloc] initWithObjects:dicArray1 forKeys:dicArray2];
    NSDictionary *dic2 = [NSDictionary dictionaryWithObjects:dicArray1 forKeys:dicArray2];

2.输入键值对初始化字典

NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@"18",@"age",
                                                                @"long",@"name",
                                                                @"nan",@"sex",
                                                                nil];

3.语法糖

NSDictionary *dic4 = @{@"name":@"long",@"sex":@"nan",@"age":@"18"};

4.取出所有key

NSArray *keys = [dic4 allKeys];

5.取出所有value

NSArray *values = [dic4 allValues];

6.取出key对应的value

NSString *value1 = [dic4 objectForKey:@"name"];
NSString *value2 = dic4[@"sex"];

7.获取字典元素个数

NSUInteger lengthDic = [dic4 count];

NSMutableDictionary

1.初始化一个空字典

NSMutableDictionary *dictionary1 = [NSMutableDictionary dictionary];

2.初始化时给一个容量

NSMutableDictionary *dictionary2 = [[NSMutableDictionary alloc] initWithCapacity:10];

3.init初始化

NSMutableDictionary *dictionary3 = [[NSMutableDictionary alloc] init];

4.添加键值对

[dictionary1 setObject:@"long" forKey:@"name"];

5.删除键值对

[dictionary1 removeObjectForKey:@"name"];
[dictionary1 removeAllObjects];

for in

快速遍历数组

    NSArray *array66 = @[@"long",@"feng",@"dong",@"song"];
    for (NSString *obj in array66) {
        NSLog(@"%@",obj);
    }

快速遍历字典

    NSDictionary *dic66 = @{@"name":@"long",@"sex":@"nan",@"age":@"18"};
    for (NSString *obj in dic66) {
        NSLog(@"%@:%@",obj,dic66[obj]);
    }

NSSet

初始化集合

NSSet *set = [[NSSet alloc]initWithObjects:@"1",@"2",@"3",@"2", nil];

返回一个系统认为最合理的值

NSString *setValue = [set anyObject];

NSMutableSet

初始化可变集合

NSMutableSet *set1 = [NSMutableSet set];

添加元素

    [set1 addObject:@"1"];
    [set1 addObject:@"2"];
    [set1 addObject:@"3"];
    [set1 addObject:@"2"];

删除元素

    [set1 removeObject:@"2"];
    [set1 removeAllObjects];

利用NSCountedSet计算重复个数

    NSArray *countArray = @[@"2",@"1",@"1",@"3"];
    NSCountedSet *resultCount = [[NSCountedSet alloc] init];
    NSUInteger count88 = [resultCount countForObject:countArray];

sort

1.不可变数组排序

    NSArray *sortArray = @[@"4",@"2",@"3",@"5"];
    NSArray *sortResult = [sortArray sortedArrayUsingSelector:@selector(compare:)];

2.可变数组排序

    NSMutableArray *sortArrays = [[NSMutableArray alloc] initWithObjects:@"1",@"4",@"3",@"2", nil];
    [sortArrays sortedArrayUsingSelector:@selector(compare:)];

NSDate

1.初始化

    NSDate *date1 = [NSDate date];
    NSLog(@"%@",date1);

打印出来为格林威治时间

2.其他初始化方法

    NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:3600];
    NSDate *date3 = [NSDate dateWithTimeIntervalSince1970:3600];
    NSDate *date4 = [NSDate dateWithTimeIntervalSinceReferenceDate:3600];

3.打印北京时间

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy.MM.dd HH.mm.ss"];
    NSString *dateString = [formatter stringFromDate:date1];
    NSLog(@"%@",dateString);

4.两个时间的时间间隔

    NSTimeInterval interval = [date2 timeIntervalSinceDate:date1];
    NSLog(@"%f",interval);

5.把一个时间格式字符串 转化成NSDate 打印出来

    NSString *dateFormat = @"20151103222838";
    NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];
    [formatter1 setDateFormat:@"yyyyMMddHHmmss"];
    NSTimeZone *zone = [NSTimeZone timeZoneForSecondsFromGMT:0];
    [formatter1 setTimeZone:zone];
    NSDate *date5 = [formatter1 dateFromString:dateFormat];
    NSLog(@"%@",date5);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值