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

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

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

Foundation框架:
Foundation类层次的根是NSObject类,它(和NSObject及NSCopying协议一起)定义了基本的对象属性和行为。Foundation框架的剩余部分由几组相互关联的类和一些独立的类组成。有一些代表基本数据类型的类,如字符串、字节数组、用于存储其它对象的集合类,一些代表系统信息的类
简单的说,Foundation框架就是许多个常用类的集合程序的开发过程,Foundation框架将经常使用平时创建OC类的时候,就要引用Foundation框架的Foundation.h文件#import <Foundation/Foundation.h>
Foundation框架中4种常用的结构体NSRange,NSPoint,NSSize,NSRect

结构体:

1.NSRange

1)NSRange原来就是由两个unsigned long类型组成的结构体:

2)NSRange的两个成员

NSRange有两个Unsigned long类型的成员:location、length

可以用来描述几个字母在字符串中所处的位置和长度。

也可以描述数组中几个数据所处的位置和范围。

3)用NSString的对象方法rangeOfString,查找某个字符串在str中的范围

NSPoint(CGPoint)表示坐标

为什么使用CGPoint?

因为CGPoint和NSPoint的功能是一样的,但是CGPoint是跨平台的,所以一般使用CGPoint

NSPoint定义在Foundation/NSGeometry.h中,其定义格式是这样的:

NSPoint表示一个平面上的点,分别用x和y表示横坐标和竖坐标。这点在我们以后操作屏幕上的点定位都是有用的,NSPoint跟NSRange一样,同样可以使用函数NSMakePoint(CGFloat x, CGFloat y)来产生一个NSPoint,使用函数NSStringFromPoint(NSPoint point)来将NSPoint格式化为一个NSString字符串。

3、NSSize(CGSize)表示UI元素的尺寸,宽度和高度

NSSize结构体同样是定义在Foundation/NSGeometry.h中的,其定义结构如下

4、NSRect(CGRect)

NSRect结构体定义在Foundation/NSGeometry.h中,其定义为:


这个结构体用来存储宽度和高度,origin表示矩形左上角的坐标,size表示矩形的高度和宽度。同样的,我们可以使用NSMakeRect()和CGRectMake()来创建一个NSRect或者CGRect

NSString和NSMutableString

1.NSString(不可变字符串)

字符串创建的几种方式:

2.URL(资源路径)

URL的书写格式

协议头://路径

协议头包括:http(网络资源)、ftp(FTP服务器资源)、file(本地文件)等


3.创建字符串的类方法

一般都会有一个与对象initWith方法配对的类方法。开发中,我们常用类方法,因为代码短,省时间。

4.字符串的导出


6.NSMutableString(可变字符串)

1)可变字符串的拼接:

这里用到了字符串对象方法 appendString:

2)不可变字符串拼接后新建字符串

3)删除字符串中的某个字符串

三、集合类 NSArray和NSMutableArray(OC数组)

1.可变数组、不可变数组

NSArray:不可变数组

NSMutableArray:可变数组

NSMutableArray是NSArray的子类

2.OC数组与C语言数组的区别

C语言数组:只能存放单一类型数据

OC数组:可以存放各种OC对象  

* OC数组不能存放nil值,nil代表OC数组的结束。

* OC数组只能存放OC对象、不能存放非OC对象类型,比如intstructenum

可变数组的基本使用:

集合类 NSSet和NSMutableSet (无序数组)

1.NSSet 无序不可变数组

NSMutableSet 无序可变数组

集合类  NSDictionary和NSMutableDictionary (字典)

     字典:一个key(键)对应一个value(值),里面存储的东西都是键值对。 

     key(id类型) ----> value(id类型)

     一般用法:索引 ---->文字内容

不可变字典 NSDictionary

可变字典 NSMutableDictionary

字典的遍历

集合类总结

 集合

1.NSArray\NSMutableArray

 *有序

 *快速创建(不可变):@[obj1, obj2, obj3]

 *快速访问元素:数组名[i]

2.NSSet\NSMutableSet

 *无序 

 3.NSDictionary\NSMutableDictionary

 *无序

 *快速创建(不可变):@{key1 : value1,  key2 : value2}

 *快速访问元素:字典名[key]

NSValue/NSNumber

1.简介

在OC数组和字典中,只能存放OC对象。如果我们想传一个基本数据类型到数组中,比如int类型,只能将int包装成字符串对象:@“20”。

OC中提供这两个类NSValue、NSNumber,可以将任何基本数据类型转成NSValue或NSNumber类型的对象。

* NSNumber是NSValue的子类

* NSValue可以包装任何基本数据

* NSNumber只能包装数字(int、double、floa、BOOL、enum)

NSNumber的基本使用

1)基本用法

NSValue的基本使用

NSValue一般用于包装结构体:CGPoint、CGSize、CGRect

NSDate 时间

1.基本使用

2.时间格式化

当我们想把NSDate对象中的时间输出到手机屏幕上时,我们就需要将NSDate对象转成字符串。

但如何告诉程序我们想要用什么格式输出呢?2015\04\07 还是 2015-04-07 11:10:36? 用24时制还是12时制?

这就用到了时间格式类:NSDateFormatter

1)将NSDate对象转成字符串

2)将字符串转成NSDate对象

总结:

1.结构体一般用CG前缀而不用NS,CG是跨平台的。

2.调用CG开头的函数需要添加CoreGraphics框架
3.NSMutable开头的类都是可变的,都是不带Mutable的类的子类

4.基本数据类型与OC对象的转换:NSValue/NSNumber

5.默认显示时间是0时区的时间,北京是东8区。时间格式化:NSDateFormatter


汇付天下聚合支付自助接入全流程详解(附JAVA/非JAVA环境配置指南) 本文详细解析了汇付天下聚合支付的自助接入全流程,涵盖JAVA与非JAVA环境下的实战配置。从接入前准备、架构理解、密钥获取,到JAVA SDK集成、核心支付代码拆解,以及Node.js/Python等环境的裸接口对接、签名生成与异步通知处理,提供了完整的避坑指南和上线检查清单,帮助开发者高效、稳健地完成支付系统集成。 阅读详情

相关推荐

Vue 实现华视身份证读卡器功能

在www.downcc.com下载“华视cvr100驱动”安装程序; 华视电子官网有相应的文档说明和程序下载 一、服务安装 选择安装目录: 启动读卡服务: 安装成功会有如图所示: 注意事项: 安装开发包必须使用管理员权限,因为windows服务和读卡器设备驱动程序均需要管理员权限,否则会安装失败。 win10需要修改组策略才有管理员权限。 二、服务的使用 打开浏览器,输入地址http://127.0.0.1:19196/mainpage,回车 点击openDevice: 点.

zyqgt960812的博客 6456

【Objective—C】——Foundation框架详解(上)

本周学习了OC中的foundation框架,下面我将总结一下本周的学习成果。OC中集合可分为:NSArray、NSSet和NSDictionary三种体系,其中NSArray代表有序、可重复的集合;NSSet代表无序、不可重复的集合;NSDictionary代表具有映射关系的集合。集合类和数组不一样,数组元素可以是基本类型的值也可以是对象,而集合只能保存对象(实际上是保存对象的指针变量)。

m0_73974920的博客 628

基于ESP32微控制器与TB6612FNG电机驱动模块的智能小车控制系统_包含电机驱动电路设计_无线遥控功能实现_多传感器数据融合_实时运动控制算法_ROS机器人操作系统接口_支持.zip

基于ESP32微控制器与TB6612FNG电机驱动模块的智能小车控制系统_包含电机驱动电路设计_无线遥控功能实现_多传感器数据融合_实时运动控制算法_ROS机器人操作系统接口_支持.zip

OC】面向对象基础与Foundation框架总结

笔者花了三周的时间学完了OC的一些基础知识,特此写下这篇博客来总结与运用学到的知识。

weixin_72437555的博客 470

OCFoundation框架知识总结

一个框架(Framework)就是一个软件包,它包含多个类。Mac 操作系统提供了几十个框架,从而帮助软件开发人员迅速地在Mac 系统上开发应用程序。在这些框架中,有一 些称为基础框架。基础框架就是为了所有程序开发提供基础的框架,其中的类包括:字符串(NSString)、数字(NSNumber)、数组(NSArray)、字典(NSDictionary)、 集合(NSSet)等,所有的基础框架

why_not_的专栏 755

OCFoundation

****************************NSNumber******************************* 1)基本类型转换成对象 int num =1; float num2 = 4.5; BOOL isBool = NO; char c = 'c'; 封装成对象 //类方法的实现 NSNumber *IntNumber = [NSNumber num

1295

OC中的Foundation框架

一、几个常用的结构体 1、NSRange    两个成员location、length。 //最常用的定义方式,是利用一个函数 NSRange r=NSMakeRange(2,4); //用途。查找制定字符串在一个字符串中的位置 //假如这个字符串中不包含某个字符串时,length=0,location=NSNotFound(这个值其实就是int型的-1) NSString * s

Dream-Just do it ! 629

黑马程序员————OCFoundation框架知识总结

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

whymerain的专栏 593

黑马程序员_OC_Foundation框架

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

huangchen_wyx的专栏 607

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

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

编程之路 485

黑马程序员——ocFoundation框架

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

lucky2468的博客 406

——黑马程序员——OCFoundation框架NSSArray用法总结

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

yhp1095785221的博客 474

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

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

林涵的博客 642

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

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

conpgy的专栏 901

——黑马程序员——OCFoundation框架NSString用法总结

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

yhp1095785221的博客 634

——黑马程序员——OCFoundation框架NSDictionary的使用

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

yhp1095785221的博客 413

黑马程序员_OC Foundation框架简介

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

skywqnan的博客 490

黑马程序员_OCFoundation框架

Foundation框架    Foundation框架是其他所有ios框架的基础    Foundation框架包含了很多开发中常用的数据类型    1>、结构体    2>、枚举    3>、类     要想使用Foundation中的数据类型,包含它的主文件即可#import 一、结构体     在main.h文

Bella的专栏 482

黑马程序员——OC基础05—Foundation框架

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-一、Foundation框架 1.Foundation就是类、方法、函数、文档等按照一定的逻辑组织起来的集合。,它是mac和iOS的基础。 2.Foundation中常用的类有:NSString(字符串); NSArray (数组); NSNumber(数字); NSDate(日期); NSData(数据);

Peide04271915的博客 558

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

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------   Foundation正如其名,是其他所有iOS框架的基础 Foundation框架包含了很多开发中常用的数据类型:结构体、枚举、类 Foundation框架常用的结构体 NsRange NsPoint\CGPoint NSSize\CGSzie NSRect\CGRect

SUIDONGYANG123的博客 705
上一篇: 黑马程序员——OC语法 block和protocol
jerome3
博客等级 码龄15年 1粉丝 12原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值