学习笔记15-OCFoundation框架(一)

1     框架是由许多类、函数、方法和文档按照一定的逻辑组织起来的集合。

2     NSString (字符串类)

一个NSString对象就代表一个字符串。是字符串的类。 类似java的String。

NSString 的创建

1) 创建字符串常量

 NSString * str =@“abc”; //存在常量区。相同字符串只有一份。

2) 格式化方法创建

NSString*str =[NSString stringWithFormat:@”aaa”];//存在堆区。

 

NSURL

url :统一资源定位符(地址)。

格式 : ulr == 协议://主机域名/路径。

 

使用url读写字符串

NSRRL *url =[NSURL URLWithString:@“http://baidu.com/wenjian/aa.txt”];//服务器文件路径或者本地文件路径,还可以调用手机系统程序。

NSRRL *url =[NSURL fileURLWithPath:@“/usr/test/aa.txt”];//本地文件路径不需要加网络协议

 

使用url写文件

[str writeToURL: url automically:YES encoding:NSUTF8StringEncoding  errer:nil];

automically:原子性,只能一个进程操作。

encoding:编码格式

errer:错误返回值。二级指针。

返回值类型:BOOL

 

使用url读文件

NSString *str=[NSString stringWithContentsofURL:urlencoding : NSUTF8StringEncoding  err:nil];

                     字符串函数

功能

函数名

使用方法

返回值类型(返回值)

备注

字符串比较

compare

[str1 compare:str2 ]

NSComparisonResult(-1、0、1)

有参数:比较规则

前缀检查

hasPrefix

[str  hasPrefix:@“http”]

BOOL

 

后缀检查

hasSuffix

[str  hasSuffix:@“.jpg”]

BOOL

 

字符串查找

rangOfString

[str1 rangOfString:str2]

NSRange(结构体类型)or NSNotFound

length子字符串长度 location 首次出现位置 没有查找到返回一个 最大值

字符串截取

substringFromIndex

[str  substringFromIndex:3]

NSString

包括开始位置

substringToIndex

[str  substringToIndex:3]

NSString

不包括结束位置

字符串替换

stringByRepleace……

stringByRepleace……A with B

NSString

用B替换A

获取每个字符

charcaterAtIndex

charcaterAtIndex:i

unichar

 

获取字符长度

length

 

 

 

获取字符串的数值

intValue

[str intValue]

int

其他类型类推

 

                    

                    

NSRange

是一个结构体,表示事物的范围,通常是字符串里字符范围或者数组元素的范围

定义如下

              typedef struct _NSRange{

                     NSUIntegerlocation;  //范围起始位置

                     NSUIntegerlength;    //范围长度

} NSRange

 

                            通过函数赋值

                                   NSRangerange = NSMakeRange(2,3);

                            转换为字符串形式

 

                                   NSString *str =[NSString NSStringFromRange:range];

                    

              将C中的字符串转换为OC的字符串

                     char*s = “xiaoming“;

                     NSString *str =[ NSString stringWithUTF8String:s];

将OC中的字符串转换为C的字符串

                     NSString *str = @”xiaoming“;

                     char *s = [str UTF8String];

 

3     NSMutableString(可变字符串类)

   使用NSMutableString 可以对字符串进行增和删操作。修改字符串,不改变地址。

   创建字符串

              NSMutableString * str[NSMutableString  stringWithFoemat:@”abc”] ;

追加字符串

    [str appendString:@“def”];  //追加之后的地址不变 不需要变量接收。

删除字符串

        [str deleteCharactersInRange:range];

插入字符串

        [str insertString@“xxx”atIndex:int loc]; //将字符xxx串插入到loc位置

替换字符串

        [str replaceCharactersInRange:rangewithString:@”xxx”]; //将range之间的字符串替换为xxx。

注意

 NSString类型不能赋值给 NSMutableString类型的变量

NSMutableString *str =@”xxx”; //运行时报错 xxx是常量

          string属性

          str.string=@“”; // 用空覆盖之前的字符串。

4     NSArray(数组类)

   存储的是OC中的对象,不能存储基本类型。

   数组的创建是调用该类的类方法和对象方法。

       

创建数组

        1)创建空数组

               NSArray *array =[NSArray array];

        2)创建数组有一个对象

              NSArray *array =[NSArray arrayWithObject:@”1“];

3) 创建数组有多个对象

NSArray *array= [NSArray arrayWithObjects:@”1“,@”2“,nil];//常用写法

4) 用对象方法创建数组

NSarray*array=    [[NSarray alloc ] initWith Objects:@”1“,@”2“,nil]];

5) 用数组创建数组

       NSarray *arr=[NSArrayWithArray:array];

6)简化的方法定义数组

NSArray *arr=@[@”1”,@”one”];

查看数组

       数组是对象,可以直接用 %@ 打印

常用方法

       count :获取数组长度

       objectAtIndex:index : 获取下标为index的对象

    indexOfObject:对象   :获取对象的下标

       containsObject:对象;是否包含对象

遍历数组

              for(int i=0;i<count;I++){

                     NSLog(@“%@“,arr[I]);

}

 

for(NSSting *str ,in arr){

                     NSLog(@“%@“,str);

 

}

 

arr enumerateObjectsUsingBlock:…… //可以设置停止的条件

              NSArray写文件

                     [ array writeToFile:@“路径“  automically:YES]; //返回值为BOOL

              NSArray读文件

                     NSArray*arr=[NSArray arrayWithContentsOfFile:路径]

 

NSArray与字符串

       把数组元素链接成字符串

              NSArray *arr=@[@”ONE”,@”TWO”,@”THREE”];

              NSString *str=[arrcomponentsJoinByString:分隔符];

       分割字符串存到数组

              NSString *str=@“400-800-12580“;//

              NSArray *arr=[strcomponentsSepararedByString:分隔符];

 

6     NSMutableArray(可变数组类)

  可变数组,长度可变,地址不变

       创建数组

              NSMutableArray * arr= [ NSMutableArray  array];

       创建数组的时候初始化元素 (类比Array)

      

       创建的时候指定数组长度

              [NSMutableArray  arrayWithCapacity:长度];

       添加元素

              [arr addObject:@””];

       插入元素

              [arr insertObject:@”“ atIndex:location ];

       删除元素

              [arr removeObject:@“”];//根据元素删除

              [arr removeObjectAtIndex:1];//根据下标删除

              [arr removeAllObject]; //删除全部

       修改元素

              [ arr  replaceObjectAtIndex:1withObject:对象];//根据下标替换

              arr[3]=@””;//直接修改

       查找元素

              [arr containsObject:对象]; //0 没有 1 有

       交换元素

              [arr exchangeObjectAtIndex:int withObjectAtIndex:int];

             

           

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
应用背景为变电站电力巡检,基于YOLO v4算法模型对常见电力巡检目标进行检测,并充分利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务,并对系统性能做出一定的优化。.zip深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值