当前位置: 首页 > article >正文

Oc语言学习 —— Foundation框架总结

1、NSString类

我们对一个NSString对象赋值的方法是直接将字符串常量赋给对象,例如:NSString *str = @"hello";
因为我们的NSString是不可变的,所以我们只能通过一些方法来在我们原来的字符串后面追加或初始化我们的字符串来间接修改我们的对象,例如:

 

这两种方法都是对象不改变,将新生成的字符串重新赋值给str指针变量

2、NSMutableString类

我们这个类与上面不同,他的字符序列可以改变,我们通过一些方法对其调用

注意,我们的a在初始化时不可使用NSString式的方法。

在这里我们可以注意一下我们的的可变与不可变的区别:我们对我们的NSString对象进行赋值时,必须要将调用后的方法返回的值重新赋给我们的对象,例如a = [a stringByAppendingString:@"iii"];,而我们的NSMutableString就不用重新赋值,可以直接修改。 两个类方法的不同就是一个有stringby前缀,另一个没有。

3、日期与时间

 oc为处理这些提供了NSDate,NSCalender对象

//
//  main.m
//  日期与时间
//
//  Created by 吴桐 on 2025/5/18.
//#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {@autoreleasepool {NSDate *data1 = [NSDate date];NSDate *data2 = [[NSDate alloc] initWithTimeIntervalSinceNow:3600 * 24];//获得后一天的时间NSLog(@"%@", data1);NSLog(@"%@", data2);NSDate *data3 = [[NSDate alloc] initWithTimeIntervalSinceNow:-3 * 3600 * 24];//获得三天前的日期NSLog(@"%@", data3);
//        NSDate *data4 = [[NSDate alloc] initWithTimeIntervalSince1970:3600 * 24 * 366 * 30];
//        NSLog(@"%@", data4);//获得1970一月一日之后30年的日期NSLocale* cn = [NSLocale currentLocale];// 获取NSdateNSLog(@"%@", [data1 descriptionWithLocale:cn]);//将data1赋给cn,获得当前地区的时间//获取系统当前的locale
//        NSLocale *cn1 = [NSLocale currentLocale];
//        NSLog(@"%@", cn1);//获取NSdata在当前locale下对应的字符串NSLog(@"%@", [data1 descriptionWithLocale:cn]);//获取两个之间较早的NSLog(@"%@", [data1 earlierDate:data2]);//compare 方法返回NScomparisonResult枚举值// 枚举包含//NSOrderedAscending,NSOrderedSame, NSOrderedDescending// 分别代表了 调用compare 的日期位于被比较日期的之前 相同 之后switch ([data1 compare:data2]) {case NSOrderedSame:NSLog(@"date1 == date3");case NSOrderedAscending:NSLog(@"data1 在 data3 之前");case NSOrderedDescending:NSLog(@"data1 在 data3 之后");}NSLog(@"时间差为%g", [data1 timeIntervalSinceDate:data3]);//interval的意思是间隔,上述是data1 与 data3 的时间间隔NSLog(@"差为%g", [data2 timeIntervalSinceNow]);//与现在的时间间隔}return 0;
}

4、日期格式器 

 5、定时器

6、对象复制

OC语言学习——对象复制-CSDN博客

7、array

这里我们需要着重记忆的是我们向数组内传参数的方法:arrayWithObjects

然后我们需要看一下如何遍历集合类的元素

8、set

 set中元素没有固定顺序,自动去重,查找比array快。

我们在使用set时需要注意的是我们一般会对hash进行重写,因为我们集合中判断2个元素相等的条件是:方法isEqual返回yes与两个对象的hash方法返回值也相等,set才会判断这两个对象相等。

9、dictionary

Dictionary是一种键值对结构的集合。每个元素是一个key-value对,key必须唯一。与数组不同,字典中通过key查找value,而不是下标

http://www.lryc.cn/news/2380442.html

相关文章:

  • react+html2canvas+jspdf将页面导出pdf
  • LWIP的Socket接口
  • 基于支持向量机(SVM)的P300检测分类
  • Better Faster Large Language Models via Multi-token Prediction 原理
  • 51c嵌入式※~合集7~Linux
  • Spring的Validation,这是一套基于注解的权限校验框架
  • MySQL - 如何突破单库性能瓶颈
  • 基于 Vue 和 Node.js 实现图片上传功能:从前端到后端的完整实践
  • go封装将所有数字类型转浮点型,可设置保留几位小数
  • Rust 学习笔记:关于 Vector 的练习题
  • Linux 系统异常触发后自动重启配置指南
  • apisix透传客户端真实IP(real-ip插件)
  • Oracle 数据库的默认隔离级别
  • 统计客户端使用情况,使用es存储数据,实现去重以及计数
  • 代码随想录算法训练营第六十四天| 图论9—卡码网47. 参加科学大会,94. 城市间货物运输 I
  • oracle序列自增问题
  • 开启健康生活的多元养生之道
  • 【Vite】前端开发服务器的配置
  • 鸿蒙OSUniApp 制作自定义弹窗与模态框组件#三方框架 #Uniapp
  • Spring Security与Spring Boot集成原理
  • VScode各文件转化为PDF的方法
  • 精益数据分析(58/126):移情阶段的深度实践与客户访谈方法论
  • Vue3学习(组合式API——Watch侦听器、watchEffect()详解)
  • 【node.js】安装与配置
  • 《AI大模型应知应会100篇》第62篇:TypeChat——类型安全的大模型编程框架
  • HttpMessageConverter 的作用是什么? 它是如何实现请求体到对象、对象到响应体的自动转换的(特别是 JSON/XML)?
  • EdgeShard:通过协作边缘计算实现高效的 LLM 推理
  • 火山 RTC 引擎9 ----集成 appkey
  • ArcGIS Pro 3.4 二次开发 - 框架
  • Adminer:一个基于Web的轻量级数据库管理工具