OC中Foundation框架里常用的结构体和类

表面声波滤波器——叉指换能器设计实战:从关键参数到结构选型 本文深入探讨了表面声波滤波器核心部件叉指换能器的实战设计流程。从目标驱动出发,详细解析了如何根据中心频率确定关键参数指宽,并权衡叉指对数对带宽和插入损耗的影响。文章进一步介绍了通过变迹加权优化频率响应,并对比了梯形结构与纵向耦合谐振滤波器等主流结构选型的适用场景与优缺点,为工程师提供从理论计算到仿真验证的完整设计指南。 阅读详情

NSRange,NSString,NSArray,NSSet,NSDictionary

1,NSRange

1 初始化方式
(1),用一个函数初始化,类似的NSSize,NSRect,NSPoint也是这样赋值的
NSRange range = NSMakeRange(NSUInteger loc,NSUInteger len)
(2),直接用大括号赋值
NSPoint p1 =NSMakePoint(10,10);
NSPoint p2 =NSMakePoint(20,20);
NSRect r1 ={{0,0},{100,90}};
NSRect r2 ={p1,p2};
2,结构体常应用举例
(1),rangeOfString:(NSString *) // NSString对象方法 返回一个NSRange类型的结构体
* 查找某个字符串在str中的范围
* 如果找不到,length=0,location =NSNotFound==-1,NSNotFound是一个枚举
(2),将结构体转为字符串函数
NSString *string = NSStringFromSize(结构体名称);
(3),常用的固定结构体const
CGPointZero ==CGPointMake(0,0)
(4),判断(BOOL)类型的函数
BOOL CGPointEqualToPoint(CGPoint,CGPoint);// 比较两个点是否相同
BOOL CGRectContainsPoint(CGRect,CGPoint);// 判断一个点是否在Rect范围内
(5),使用CG前缀的函数的前提是添加CoreGraphics框架


2,NSString
原理,存放字符串的类

1,NSString的创建
(1),最简单的方式
NSString *s = @"jack";
(2),格式创建
NSString *s = [[NSString alloc] initWithFormat:@"age is %d",10];
(3),c字符串转化为OC字符串
NSString *s = [[NSString alloc] initWithUTF8String:"jack"];
(4),OC字符串转化为c字符串
const char *cs = [s UTF8String];
(5),从文件中创建字符串
// NSUTF8StringEncoding 用到中文就可以用这种编码
NSString *s = [[NSString alloc] initWithContentsOfFile:@"路径"encoding:NSUTF8StringEncoding error:nil]
// URL:资源路径
NSURL *url = [NSURL alloc] initWithString:@"file:///Users/apple/Desktop/1.txt"];
NSString *s = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]
(6),类方法
// 一般都会有一个类方法跟对象方法配对,一般一类名开头
[NSString stringWithFormat@""];
(7),追加,附加到另一个字符串后面创建一个新的字符串
NSString *newstring = [s stringByAppendString:@"11 12"];


2,NSString方法举例
(1),字符串的导出
// atomically 参数如果为YES的话,代表原子性,比较安全,字符串导入失败的时候,文件不会创建、
[@"Jack\njack" writeToFile:@"文件路径" atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSURL *url = [NSURL fileURLWithPath:@"file:///Users/apple/Desktop/1.txt"];
[@"Jack\njack" writeToURL:@"文件路径" atomically:YES encoding:NSUTF8StringEncoding error:nil];
(2),length 计算字数包括空格,不是计算字符数。
(3),计算字符串s在调用这个方法的字符串中的位置。
rangOfString:@"s"  
(4),将字符串内容以字符c为分割点切割

[s componentSeparatedByString:@"c"];

(5),经字符串转换为(int,double,...)

int i = [a intValue];

int i = [a doubleValue];



3,NSMutableString
(1),NSMutaableString的创建
NSMutableString *s = [NSMutableString stringWithFormat:@"age is 10"]
(2),追加,附加(append)内容到字符串的后面
[s appendString:@"字符串"];
(3),删除NSRange范围内的字符
NSRange range = [s rangeOfString:@"is"]
[s rangeOfSring:range];
[s deleteCharactersInRange:NSMakeRange(4,2)];


4,NSString和NSMutableString追加方法比较
// 返回一个新的字符串NSString
NSString *newstring = [s stringByAppendString:@"11 12"];
// 没有返回值,已经在s后面附加
[s appendString:@"字符串"];


3,NSArray 
原理:以面向对象思想操纵数组,OC数组NSArray只能存放OC对象,不能存放非OC对象类型,不能存放nil值


1,类方法创建
NSArray *a =[NSArray arrayWithObject:(id)];
// 后面的nil是数组元素结束的标记
NSArray *a =[NSArray arrayWithObject:(id),...,nil];
// 编译器特性 ,快速创建一个NSArray对象
NSArray *a = @[id,...];


2,NSArray常用方法举例
(1),求元素个数
[a count];// get方法
(2),访问数组元素方法有两种
[a objectAtIndex:1];
a[1];// 编译器特性
(3),找到元素在数组中的位置
NSUInteger i =[a indexOfObject:数组元素];
(4),快速遍历
// 普通方法
for (int i = 0,i<a.count;i++){代码段}


// id obj代表着数组中的每一个元素,缺点不知道第几次
for (id obj in a)
{
     NSLog(@"%@",obj)
}


// 利用block,每遍历到一个元素,就会调用一次block,并且当前元素和索引文职当作参数传给block
// BOOL *stop 用来停止遍历
[a enumerateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL *stop){代码段}]


3,NSMutableArray
(1),创建
@[] 只创建不可变数组NSArray;
(2),方法
// 添加元素
[array addObject:id];
// 删除元素
[array removeAllObjects];
// 删除指定的元素
[array removeObjects:id];
[array removeObjectAtIndex:0];


4,NSSet
原理,存放的元素是没有顺序的

1,类的创建
NSSet *s = [NSSet setWithObject:(id),...,nil]


2,方法
(1),随机选取元素
[s anyObject];
(2),添加元素
[s addObject:(id)];
(3),删除元素
[s removeObject:(id)];


5,NSDictionary
原理,里面存放的东西都是键值对,key -->value,索引-->文字内容

1,创建
(1) 创建key和value后
NSArray *keys = @[(id),...];
NSArray *objects = @[(id),...];
NSDictionary *dict =  [NSDictionary dictionaryWithObjects:objects forKeys:keys];
(2) key和value放一起
NSDictionary *dict =[NSDictionary dictionaryWithObjectsAndKeys:
(id),(id),
(id),(id),
(id),(id),nil];
(3) 编译器特性
NSDictionary *dict = @{(keyid) : (valueid),(keyid) : (valueid),...};


2,方法
(1),拿出键对应的值
id obj =[dict objectForKEY:@"name"];
// 编译器特性
id obj = dict [(keyid)];
(2),键值对的个数
dict.count;


3,NSMutableDictionary
(1),添加键值对
[dict setObject:id forKey:id];// 多次添加键值对,最后的会覆盖前面的
(2),移除键值对
removeObjectForKey:id


4,遍历
(1),先拿出keys存放在数组中
NSArray *keys = [dict allkeys];
for (int i=0; i<dict.count;i++)
{
NSString *key = keys[i];
NSString *object = dict[key];
NSLlog*(@"");
}
(2),利用block
[dict enumerateKeysAndObjectsUsingBlock:^(id key,id obj,BOOL *stop){
    NSLog(@"%@ - %@",key,obj);

}];


【100%通过率】2023华为od机试C卷【电脑病毒感染】C语言 实现 一个局域网内有很多台电脑,分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t 表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1. 阅读详情

相关推荐

CSM中一些常见问题的解决方式

CSM中一些常见问题的解决方式 抖动 摄像机在每帧移动或者旋转时,会产生较严重的抖动问题。

小龙虾的博客 2130

OC笔记之foundation框架

对 Objective-C 中foundation框架的学习总结

aa2002aa的博客 969

【SOFA】SOFA框架+Win10+VS2019 配置

SOFA (Simulation Open Framework Architecture)官网 SOFA 是一个开源的仿真框架,用于实时的物理仿真,而且主要针对医学上的仿真。主要用于研究人员开发新的算法,也可以作为一个有效的快速成型工具或是物理引擎。 官网中给出的配置方法写的很清晰,有着各个库或者软件的版本要求,仔细看按版本要求来 官网配置地址 官网给了两种方 1.通过脚本自动配置 2. 自己下载相关库通过CMake进行生成 第一种 没使用,不知道是否好使,因为如果其中有下载的东西,国内不一定能成功,大家可

GordonWei 5260

OC学习:Foundation框架之常用结构体

在iOS开发中所有框架中Foundation框架是最基础的框架,Foundation框架里面包含了常用的类和数据类型。 使用Foundation框架只要包含它的主头文件即可,主头文件里面包含了框架中所有内容的头文件。 Foundation框架中常用的结构体:NSRange、NSPoint\CGPoint、NSSize\CGSize、NSRect\CGRect 使用CGPoin

iOS开发的学习笔记 823

UE5热更新(通过Pak包加载关卡资源,并添加到流关卡)

请先阅读我上一篇文章)**

xialuhui的博客 6456

【数据集】MODIS 的 MOD07 大气廓线产品概述及下载

MODIS 的 MOD07 大气廓线产品概述及下载

WW、forever的博客 550

黑马程序员 Foundation Kit中一些常用的类和结构体

---------------------- ASP.Net+Unity开发、 .Net培训、期待与您交流! -----------------------

MeditatingPig的专栏 762

使用 MATLAB/Simulink + Simscape Electrical + Simulink Design Optimization,构建一个基于SiC/GaN的Z源逆变器在储能系统中的软启

《手把手教你学Simulink:Z源逆变器在储能系统中的应用》摘要 本文详细介绍了使用MATLAB/Simulink构建Z源逆变器储能系统仿真模型的全过程。Z源逆变器凭借其独特的阻抗网络结构,解决了传统逆变器在直通保护和升压能力方面的痛点。文章通过6个关键步骤:主电路搭建、调制策略设计、软启动实现、仿真分析、效率对比和工程问题解决方案,完整展示了Z源逆变器从理论到仿真的实现路径。重点讲解了直通零矢量SPWM调制策略和渐进式升压比控制方法,验证了系统93.3%的效率和优异的抗扰性能。该模型为光伏储能、电动汽车

MHD0815的博客 122

OC语言--Foundation框架

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、基础知识 Foundation-基础框架.框架包含了开发中常用的数据机构,如结构体,枚举等,是其他ios框架的基础,如果要想使用foundation框架中的数据类型,那么只要您包含头文件及可以。 即#import 二、常用的结构体介绍及简单使用 Foundation框架中的常

sunShine 899

数据库小技能:数据导入脚本

背景:版本大升级,从2.0升级到3.0 ,服务端开发语言从c#换到java语言。数据库类型从microsalft sql server 换到mysql。数据来源于微信,用于查询卡bin。

专注于计算机研发知识和资讯分享 773

基于STM32+RFID设计的宿舍检修管理系统

设计一个上位机,用来管理查看维修检修信息,当维修寝室的设备或者检修完成时,通过STM32上的RC522刷一下这个寝室的IC卡,识别这是哪个寝室,识别成功后在软件上弹出一个对话框,填写本次维修或者检修的事件,填写完毕点击提交即可。...

2555

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

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

whymerain的专栏 594

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Foundation框架—结构体

Foundation框架—结构体 一、基本知识 Foundation—基础框架。框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础。 如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了。 即#import<foundation/foundation.h> 补充:corefoundation框架相对底层,里...

122

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

因为我们的NSString是不可变的,所以我们只能通过一些方法来在我们原来的字符串后面追加或初始化我们的字符串来间接修改我们的对象,例如:这两种方法都是对象不改变,将新生成的字符串重新赋值给str指针变量。

2402_86720949的博客 1113

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

foundation之结构体

一、基本知识 Foundation—基础框架。框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础。 如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了。 即#import<foundation/foundation.h&g...

chourong4802的博客 168

黑马程序员——Foundation框架之结构体、字符串和集合

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! —— Foundation是一种基础框架,框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础。 如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了,即:#import<Foundation/Foundation.h> 一、结构体 在Foundati

keleklee的专栏 494

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

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

weixin_30437847的博客 242

OC 学习笔记2 Foundation框架

oc 学习笔记2 Foundation框架 文章目录oc 学习笔记2 Foundation框架框架Foundation框架Foundation框架里的类 框架 一个框架相当于一个软件包,它包含了多个类。而在mac操作系统中提供了几十个框架。 Foundation框架 这是mac中的基础框架,里面为所有程序开发提供了基础所需要使用的类。 例如:数字对象(NSNumber);字符串对象(NSStrin...

weixin_43900761的博客 366

OC语法<4.8> Foundation框架中的-常用结构体和基本数据类型包装类

一:常用结构体 OC中常用的结构体有:NSRange,NSSize,NSPoint,NSRect 二:基本数据类型包装类 NSNumber,NSValue

克丽丝—>小菲儿的专栏 997

OC之常用结构体

一、基本知识 Foundation—基础框架。框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础。 如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了。 即#import 补充:core foundation框架相对底层,里面的代码几乎都是c语言的,而foundation中是OC的。   二、常用的结构

Shicuf的专栏 410

Foundation框架: 1.常用结构体 - NSRange

前面我们已经把OC的语法学完了, 现在我们来进阶一下, 学习一些稍微深层次一点的东西, 这个就是Foundation框架啦, 框架是什么东西? 其实框架就是把类型, 方法一系列东西综合在一起, 这个就叫做框架啦, 现在我们来看看Foundation框架里的常用结构体之一的NSRange. 讲解一下, 什么是NSRange, 其实NSRange是一个范围结构体,

Cain For iOS的专栏 693

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

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

SUIDONGYANG123的博客 708

Foundation框架 - 结构体

一、基础知识   如果要想使用Foundation框架的数据类型,那么包含它的主头文件就可以了。即#import <Foundation/Foundation.h>   补充:Core Foundation框架是相对底层,里面的代码几乎都是C语言的,而Foundation中是OC的。      iOS中坐标原点在左上角,向右水平方向为x轴,向下垂直方向...

anghua4068的博客 189

OC开发之——Foundation中常用结构体(52)

一 概述 本文介绍Foundation框架中的结构体: NSRange NSPoint\CGPoint NSSize\CGSize NSRect\CGRect 二 NSRange 2.1 定义 typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange; 2.2 使用 NSRang...

我的博客 259

黑马程序员-Foundation框架以及Foundation框架中的基础类

认识Foundation框架 —— <a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a> 期待与您交流! ------- 框架是有许多类、方法、函数以及文档按照一定的规则组织起来的集合,以便于程序员更加方便、迅速的开发程序。 cocoa程序编写主要用到2个框架Foun

lucky0125的博客 522

Foundation 框架 NSString常用总结

iOS开发过程中,从始至终都会和NSString打交道,在此总结一下NSString的常用的方法,在以后的学习过程中用到的方法也会继续添加   NSString类是Foundation框架中得不可变字符串,当NSString创建完成后,字符串的内容不可更改,与之对应的是NSMutableString类 一、NSString对象的创建   1.使用类方法(stringWithFormat:)进...

weixin_34235135的博客 297
上一篇: OC中Block、protocol
下一篇: studying IOS 关于对xib的认识
Zmarvin
博客等级 码龄12年 6粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值