黑马程序员——OC---Foundation

黑马程序员-OC语言Foundation框架 ------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 结构体: 有如下结构体:   NSRange,NSPoint/CGPoint,NSSize/CGSize,NSRect/CGRect 注意点:CG开头的结构体一般属于CoreGraphics框架 1.NSRange(表示范围) 阅读详情

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

一 简介

OC中一个框架就是一个软件包,他包含有很多的类,其中基础框架,也就是foundation框架是为所有程序开发提供的基础框架,其中的类包括:字符串,数组,字典,集合等。所有的基础框架上的类都同用户界面无关,为了使用基础框架,需要在程序中导入头文件:#import <Foundation/Foundation.h>

二 NSString 字符串的使用

1.NSString对象,一旦创建,就不可以进行再改变,如需要一个可以更改的字符串对象,需要创建NSString的可变子类NSMutableString实例。

2.字符串的创建

2.1创建一个字符串常量: NSString *string=@”this is NSString”;

2.2创建一个空字符串:

NSString *string=[[NSString alloc]init];

NSString *string=[NSString string];

3.快速创建字符串

   NSString *string=[[NSStringalloc]initWithString:@“字符串”];

   NSString *string=[NSStringstringWithString:@”字符串”];

4.创建格式字符串   initWithFormat  , stringWithFormat 方法

5.小注意

       常量没有引用计数,常量创建的字符串无需要管理内存

6.比较两个字符串

6.1 “==”表示比较两个字符串的地址是否相同;

     eg:    if(string1== string2){  //code...

             }

6.2 ”isEqualToString”表示比较两个字符串的值是否相同;

      Eg : if(string1isEqualToString:string2){   //code....

          }

   6.3 通过类方法创建字符串(不需要管理内存的)

NSString *string=[NSString stringWithCString:“abc“ encoding:

NSUTF8StringEncoding];

6.4通过实例方法创建字符串(需要手动管理内存)

  NSString *string=[[NSStringalloc]initWithFormat:@””];

6.5 通过追加的方式创建字符串  stringByAppendingString 方法

6.6 NSComparisonResult re=[string1 compare:string2];  //按字母排序进行比较

7截取字符串

  7.1通过类方法:substringFormIndex:下标   //从指定的位置截取到末尾

  7.2substringToIndex:下标    //从开始位置截取到指定的下标位置

  7.3截取指定位置(NSRange (loation ,length))

          Eg:NSRange rg={4,5};   //表示从4的位置开始,截取5个长度

          等价于 NSRange rg=NSMakeRange{4,5};

         //调用截取方法  [string1  substringWithRange: rg];

         rangeofstring   //得到字符串的位置

8.大小写之间的转换

8.1 大---> 小        lowercaseString方法

8.2小----->大        uppercaseString方法

9.可变字符串NSMutableString

   9.1.如何创建一个可变字符串

  NSMutableString *str=[[NSMutableString alloc]initWithCapacity:0];

   9.2.重新设置   setString

   9.3 根据下标插入字符串 insetString:@" " atIndex:下标值

   9.4 删除指定位置的字符串

   NSRangege=NSMakeRange(4,5);

   [string1deleteCharactersInRange:ge];

三 数组(NSArray)    

   1.通过类方法定义数组(无需管理内存),nil表示数组的结束

arrayWithObject:......,nil  ;

    2.通过初始化方法定义数组

   initWithArray    (通过数组创建数组)

   initWithObject    (通过对象创建数组)

 3.如何操作数组       

   3.1根据下标获取数组的元素

   objectAtIndex:下标

   3.2通过元素获取对应的下标

    indexOfObjects:@"字符",返回NSInteger

   3.3获取最后一个元素:lastObject

   3.4获取数组的长度:count

  4.循环操作数组

   4.1通过枚举

   NSEnumerator  *enu=[arry1objectEnumerator];

    id obj;

   While((obj==[enu nextObject]))

    {

       //code.......

    }

   4.2循环    for

   4.3 for in

  for(NSString *str in array)

   {

      //code.....

   }

 4.4反转枚举                reverseObjectEnumerator

 4.5排序

  sortedArrayUsingSelector:@"selector(compare)"

5.可变数组(NSMutableArray)

      5.1添加元素(末尾) addObject:

      5.2插入元素

      [array1 insertObject:@" "atIndex:下标];

      5.3移除元素

      根据下标移除元素:removeObjectIndex:

      移除最后一个元素:removeLastObject:

      5.4替换元素(根据下标替换)

      replaceObjectAtIndex:下标   withObject:@"替换的字符串";

      通过下标交换:exchangeObjectAtIndex: j  withObjectAtIndex:j+1;

      5.5查找

      containsObject:@"要查找的字符";

四 字典(NSDictionary)

1.如何创建字典?

     NSMutableDictionary*dictionary=[NSMutableDictionary dictionaryWithCapacity: 个数];

  dictionaryWithObjectsAndKey    将元素添加到字典中

2.如何操作字典?

2.1通过键得值 objectForKey

2.2 设置字典(设置没有的键是添加,反之修改)

   setObject:@"  " forKey:@" "

2.3移除指定键值数据     removeObjectForKey

    移除所有的数据      removeAllObjects

2.4 得到字典的个数   count

2.5 循环字典

   2.5.1  通过枚举  keyEnumerator /ObjectEnumertor

   2.5.2  通过数组 NSArray *array=[ dic allkeys];  /allValues

          根据键获取值:objecForKey

 五 NSData 字节类

       1.创建 path

       2.将文件读入data对象   initWithContentsofFile:path;

       3.data对象转换为字符串  initWithData:data ;

       4.将字符串转换为data    [stringdataUsingEncoding:  ];

  

Android14到Android16源码移植中的Bluetooth模块规范适配指南 本文详细解析了从Android14到Android16源码移植过程中Bluetooth模块的规范适配挑战,重点介绍了Android.bp配置差异及常见编译报错解决方案。针对代码规范检查、final字段声明、静态方法优化等核心问题提供实用修复方法,帮助开发者高效完成版本升级适配工作。 阅读详情

相关推荐

【无人机设计与控制】基于PID控制的四旋翼无人机系统Matlab仿真

本文设计并仿真了基于PID控制的四旋翼无人机系统。首先,建立了四旋翼无人机的数学模型,涵盖了无人机的动力学和控制系统。通过PID控制器对四旋翼的姿态和位置进行控制,以实现其稳定飞行。使用MATLAB/Simulink对该系统进行仿真,验证了PID控制算法在四旋翼控制中的有效性。仿真结果表明,PID控制能够较好地调节四旋翼的飞行姿态,并有效抑制外部干扰,使得无人机能够保持平稳飞行。

2401_84610415的博客 1804

UIKit的类层次结构

视图层次可以分为如下几个大类: 1、容器 容器视图用于增强其它视图的功能,或者为视图内容提供额外的视觉分隔。比如,UIScrollView类可以用于显示因内容太大而无法显示在一个屏幕上的视图。UITableView类是UIScrollView类的子类,用于管理数据列表。表格的行可以支持选择,所以通常也用于层次数据的导航—比如用于挖掘一组有层次结构的对象。 UITool...

tubaluer 236

非华为设备实现多屏协同:最新电脑管家破解安装指南

本文提供了在非华为电脑上安装华为电脑管家并实现多屏协同功能的详细破解指南。通过绕过硬件检测机制,用户可在联想、戴尔等设备上体验与华为生态类似的无缝文件拖拽、跨屏操作等功能。文章涵盖了从系统准备、工具下载、破解安装到手机连接及故障排查的全流程,助您打破设备壁垒,提升办公效率。

weixin_29209805的博客 1134

OC 知识:Foundation 框架及相关类详尽总结

本文用来介绍Foundation框架的相关知识,以及Foundation框架所提供类的相关知识总结。 1. 框架介绍 框架是由很多类、方法、函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加容易。在OS X系统下有100多个框架,这些框架可以用来开发应用程序。 2. Foundation框架介绍 Foundation框架是一个由上百个函数和类所构成的集合,它为Coc...

weixin_30437847的博客 242

【软件安装系列】Ubuntu+mysql5.7.27+Jira8.3.1+邮箱服务器配置+Confluence6.15.7安装经验和采坑总结

文章目录一、软件准备(百度云易被吞,就不放了)1.1 官网下载的新鲜的Jira和Confluence1.2 linux的jdk一份1.3 Jira和Confluence的破解程序或者破解包一份1.4 java的连接器一份二、安装过程1--java环境配置2.1 将下载下来的jdk包解压在/usr/local/java目录中2.2 写入环境变量三、安装过程2--mysql5.7.27环境配置3.1 ...

xiaosha_的博客 6890

ESP32开发板使用Arduino实现变成蓝牙鼠标教程

通过这个教程,你可以轻松将ESP32开发板变成蓝牙鼠标。如果你在使用过程中遇到任何问题,或者库没有正常工作,不妨下载我上传的修复版本,再试试看。希望你们能根据这个基础做出更多有趣的蓝牙控制项目!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 967

黑马程序员————OC中Foundation框架知识总结

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一个框架(Framework)就是一个软件包,它包含多个类。Mac 操作系统提供了几十个框架,从而帮助软件开发人员迅速地在Mac 系统上开发应用程序。在这些框架中,有一 些称为基础框架。基础框架就是为了所有程序开发提供基础的框架,其中的类包括:字符串(NSString)、数字(N

whymerain的专栏 594

python实现马丁策略(股市) (附完整源码)

python实现马丁策略(股市) (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 603

黑马程序员——OC中Foundation框架

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- Foundation框架: Foundation类层次的根是NSObject类,它(和NSObject及NSCopying协议一起)定义了基本的对象属性和行为。Foundation框架的剩余部分由几组相互关联的类和一些独立的类组成。有一些代表基本数据类型的类,如字符串、字节数组、用于存储

jerome3的专栏 609

vue项目表格甘特图开发

🧩 甘特图可以管理项目进度,生产进度等信息,管理者可以更直观的查看内容。

qq_35946021的博客 991

FastAPI基础项目:仿头条新闻的web项目,实现基本的新闻列表页和详情页查看功能

该项目是一个基于FastAPI和MySQL的新闻应用入门项目。主要包含新闻列表页和详情页两个功能页面。项目结构清晰,包含主应用文件、数据库脚本和HTML模板。使用SQLAlchemy进行数据库操作,通过脚本可自动生成50条示例新闻数据。环境配置简单,仅需安装FastAPI、MySQL驱动等基础依赖,通过.env文件管理数据库连接。该项目适合作为FastAPI+MySQL的入门学习案例,展示了基本的CRUD操作、分页查询和模板渲染功能。

数据知道的博客 4427

——黑马程序员——OC中Foundation下NSFileManager的使用

-----------android培训、java培训、java学习型技术博客、期待与您交流!-----------

yhp1095785221的博客 447

基于YOLOv11的手术器械计数系统:从数据集构建到Web应用部署

m2cai16-tool数据集:包含15种腹腔镜手术器械的标注图像Cholec80数据集:包含80个胆囊切除手术视频,标注了7种器械SurgicalTools数据集:包含超过10,000张手术器械图像,涵盖21类常见器械手术剪(Scissors)止血钳(Hemostat)持针器(Needle Holder)手术刀(Scalpel)镊子(Forceps)拉钩(Retractor)吸引器(Suction)

YOLO 396

黑马程序员_OC_Foundation框架

一、简介 框架是由许多类、方法、函数和文档按照一定的逻辑关系组织起来的集合,以便使研发程序变得更容易。 Mac OS开发会使用Cocoa框架,由Foundation和ApplicationKit两个框架组成。iOS程序开发会使用Cocoa Touch框架,由Foundation和UIKit框架组成。其中ApplicationKit和UIKit主要是一些用户界面设计的类,而Foundat

huangchen_wyx的专栏 607

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

黑马程序员——OC笔记之Foundation框架上

------- android培训、java培训、iOS培训、.Net培训、期待与您交流! ---------- 什么是Foundation框架? 框架:众多功能/API的集合 Foundation框架:在OS X下的Mac操作系统中大约有80个框架为所有程序开发奠定基础的框架 Foundation框架中大约有125个可用的头文件,要想使用Foundat

林涵的博客 645

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

——黑马程序员——OC中Foundation框架NSSArray用法总结

-----------android培训、java培训、java学习型技术博客、期待与您交流!-----------

yhp1095785221的博客 479

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

黑马程序员——oc之Foundation框架

android培训、java培训、iOS培训、.Net培训、期待与您交流! ---------- Objective-C开发中经常用到NSObject,那么这个对象到底是谁?它为什么又出现在Objective-C中间呢?我们将揭开这层面纱,重点分析在IOS开发中一个重要的框架Foundation,主要内容有:Cocoa不是一种编程语言(它可以运行多种编程语言),它也不是一个开发工具(

lucky2468的博客 408

黑马程序员_OC中的Foundation框架学习

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- Foundation框架是Cocoa的一部分,没有内置于Objective-C中,但他仍然十分重要。Foundation中有很多有用的、面向数据的简单类和数据类型,例如:NSString、NSArray、NSNumber。 一些有

conpgy的专栏 903

——黑马程序员——OC中Foundation框架NSString用法总结

-----------android培训、java培训、java学习型技术博客、期待与您交流!-----------

yhp1095785221的博客 635

黑马程序员—OC语言基础—Foundation框架小结

————————Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———————

编程之路 489

黑马程序员_OC语言的Foundation 上

iOS,Android,Java培训,期待与您的交流 Foundation框架是iOS开发的基础框架,它包括字符串、集合、日期、时间等基础类。 1    结构体 1、NSRange(location length):用来表示一段范围,location表示起点,length表示长度。创建该结构体变量,一般用系统提供的NSMakeRange()函数。 int main() { //创建

Anzeron 631

黑马程序员:OC学习日记之Foundation

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

中华王冠 459

黑马程序员_OC Foundation框架简介

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------     学习.net开发,我们是在Microsoft Visual Studio(简称VS)平台上开发的,Microsoft Visual Studio是微软公司旗下最重要的软件集成开发工具产品,是每个 Win 平台的软件开发者必备的工具,VS平台工具里面包含了多种框架,如.net

skywqnan的博客 494

——黑马程序员——OC中Foundation框架NSDictionary的使用

-----------android培训、java培训、java学习型技术博客、期待与您交流!-----------

yhp1095785221的博客 414

黑马程序员 —OC(Foundation补充)

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------  一、NSMutableArray        NSMutableArray 是可变数组,它继承自NSArray        NSMutableArray常用的操作有:    创建可变数组时:要以nil 结束 NSMutableArray *array = [NSMutabl

macau1的专栏 496

黑马程序员_OC语言的Foundation 下

iOS,Android,Java培训,期待与您的交流 Foundation框架是iOS开发的基础框架,它包括字符串、集合、日期、时间等基础类。 3    NSSet和NSMutableSet NSSet和NSArray一样,也是一个集合,但是集合里的多个对象没有明显的顺序。NSSet不允许包含相同的元素,如果试图把两个相同的元素放在同一个NSSet集合中,则会只保留一个元素。NSMutabl

Anzeron 632
上一篇: 黑马程序员——OC---ARC
hityu
博客等级 码龄15年 1粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值