【Foundation】19-NSNumber、NSValue和NSDate

电子电器架构刷写方案——General Flash Bootloader ### 文章大体有如下内容: ### 1、简介 ### 2、刷写系统概述 ### 3、Flash Bootloader刷写流程 ### 4、Flash Bootloader架构介绍 ### 5、关于刷写的思考 阅读详情


一、NSNumber

     1.1 NSNumber的作用:由于集合类型只能存放OC类型数据,无法存放int类型数据。当在开发中需要int类型的数据时,可以将int类型包装成NSNumber对象再存放。

     1.2 NSNumber和int的转换

    // 将数值10转换为NSNumber类型,并且赋值到字典中
    NSNumber *num = [NSNumber numberWithInt:10];
    NSDictionary * dict = @{
                            @"name":@"jack",
                            @"age":num
                            };
    // 获取字典中age对应的值
    NSNumber *num2=dict[@"age"];
    // 将NSNumber对象的值转换为int类型
    int a = [num2 intValue];
    NSLog(@"%d",a);


    1.3 NSNumber和double的转换
     NSNumber *n = [NSNumber numberWithDouble:10.5];
     int d = [n doubleValue];


    1.4 NSString和int的转换

     NSString *str = [NSString stringWithFormat:@"%d",20];//int转NSString
     NSLog(@"%d",[str intValue]);  // NSString转int


    1.5 快速将其它转换成NSNumber对象

          @20 //将20包装成一个NSNumber对象

          @10.5 

          @YES

          @‘A’ // NSNumber对象

          @“A” // NSString对象

         *将int变量包装成NSNumber对象

         int age = 100;

         @(age);


二、NSValue

   2.1  NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue。

   2.2 NSNumber只能包装基于int类型的数据,无法包装结构体,有局限性。而NSValue可以将任何基本数据类型转换为OC对象,如结构体等。

    CGPoint p = CGPointMake(10, 10);
    // 将结构体转换为Value对象
    NSValue *value = [NSValue valueWithPoint:p];
    NSArray *array=@[value]; // 将value放进数组
    // 将value转换为对应的结构体
    [value pointValue];


三、NSDate

#import <Foundation/Foundation.h>

int main() {
    
    //创建一个时间对象
    NSDate *date = [NSDate date];
    // 打印出的时间是0时区的时间
    NSLog(@"%@",date);
    
    // 比参数date的时间晚5秒
    NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date];
     NSLog(@"%@",date2);
    
    // 从1970年开始走过的秒数
    NSTimeInterval seconds = [date2 timeIntervalSince1970];
    
    // date2时间距离现在经过的秒数
    [date2 timeIntervalSinceNow];
    
    
    // 日期的格式化
    // 将日期转换为string
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    // y:年 M:月 d:日 H:(24)时 h:(12)时 m:分 s:秒
    formatter.dateFormat=@"yyyy/MM/dd HH:mm:ss";
    // 将日期按照上面的格式转换为string
    NSString *str = [formatter stringFromDate:date];
    NSLog(@"%@",str);
    
    // 将string转换为日期
    NSString *time = @"2015/01/02 14:20";
    NSDateFormatter *formatter2 = [[NSDateFormatter alloc] init];
    formatter2.dateFormat=@"yyyy/MM/dd HH:mm";
    NSDate *date3 = [formatter2 dateFromString:time];
    NSLog(@"%@",date3);
    
    
    return 0;
}





置顶必读(2) | 《YOLOv11实战:从入门到深度优化》目录导航篇(持续更新中) 🏆 本文收录于 《YOLOv11实战:从入门到深度优化》 专栏。 本专栏系统梳理并持续复现全网各类 YOLOv11 / YOLO系列改进方案与实战案例,目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。 内容坚持 持续更新 + 深度拆解 + 工程落地导向,不仅讲“怎么改”,更讲“为什么这样改、如何真正落地到项目中”。 阅读详情

相关推荐

PLC与变频器联动控制:从开关量、模拟量到通讯的接线与编程实战

在工业自动化系统中,电机调速控制是核心需求之一,其关键在于实现可编程逻辑控制器(PLC)与变频器之间的可靠联动。其基本原理是通过PLC输出控制信号,由变频器接收并驱动电机按设定速度运行。这项技术的核心价值在于实现电机的软启停、精确调速与节能控制,广泛应用于风机、水泵、传送带及精密张力控制等场景。其中,开关量控制以其接线简单、抗干扰能力强的特点,成为基础且可靠的方案;而模拟量控制则能实现无级平滑调速,满足更高精度的工艺要求。本文以西门子、三菱等主流品牌为例,深入解析了这两种主流控制方式的硬件接线、参数设置与梯

1269

系列:iOS开发-NSNumber、NSData

这两个类型准备一起讲, 因为NSNumber比较简单, 首先将NSNumber, 我在之前就有说过在数组里面在字典里面是没有办法存储C语言中的那些基础类型的,比如int、比如float… 那么我们又想存储这些值 我们怎么办呢? OC给我们封装了一个NSNumber的类 介绍就是:NSNumber:专门用来装基础类型的对象,把整型、单精度、双

spicyShrimp的博客 1494

从jieba分词到BERT-wwm——中文自然语言处理(NLP)基础分享系列(12)

今天是本系列的最后一期,完整代码呈现Huggingface transformers平台上微调BERT-wwm-ext的过程方法。

weixin_49518391的博客 3763

黑马程序员——Foundation框架入门:NSNumber,NSValue和NSDate

———-android培训、Java培训、iOS培训,期待与您交流———-一、NSNumber用途:把基本数据类型的数据保存到NSArray或NSDictionary中。赋值int a = 10; NSNumber *a1 = [NSNumbernumberWithInt:a];//这样就可以向NSArray中添加数值变量了: NSMutableArray *arr = [NSMutableArra

timehzy的博客 663

卫星动力学仿真模型开发之AI初试

以下是通过AI生成的一个简单的C语言仿真模型,用于模拟卫星的姿态、轨道动力学和运动学。该模型基于基本的物理公式,假设卫星在近地轨道上运行,并忽略了一些复杂的扰动因素(如大气阻力、太阳辐射压等)。姿态动力学描述了卫星绕其质心的旋转运动。轨道动力学描述了卫星在引力作用下的运动。姿态运动学描述了卫星姿态随时间的变化。

xspace的博客 569

如何提高电路的抗干扰能力

本内容详细介绍了电源传导干扰处理,包括滤波、Feedthrough电容器、磁环、磁珠、屏蔽的使用与选型,EMC电磁兼容测试项目简介与要求,单片机与电源抗干扰处理等。

让你爱上电路设计 8600

OC NSNumber NSInteger 直接赋值问题

一 问题描述 类对象的属性id类型是NSNumber ,设置UI 的 tag(NSInteger类型)时候,数据失真。 id属性是1,tag 取出来为19。 1.1 UI tag 属性 // @property(nonatomic)NSIntegertag; 1.2 错误代码如下 //tagNumber是NSNumber类型 [buttonsetTag:tagNumber]; 1.3 修改代码如下 //通过integerValue方法中转 [button...

迦南的专栏 1718

02-Redis 核心特性与数据结构详解:揭秘高性能的技术内核

本文深度拆解 Redis 高性能的技术内核:揭秘其凭“内存存储 + C 语言开发” 实现微秒级延迟、10 万 + QPS 的性能优势;详解 5 种基础数据类型(String/Hash 等)与 4 种扩展数据类型(Stream/Geospatial 等)的特性及场景;还介绍多语言支持、RDB/AOF 持久化、主从复制 / 哨兵 / 集群等高可用方案,助读者掌握 Redis 技术核心与实践逻辑。

蜗牛老师,专注编程领域 996

(转) 用法总结:NSNumber、NS…

NSNumber + (NSNumber *)numberWithInt:(int)value; + (NSNumber *)numberWithDouble:(double)value; - (int)intValue; - (double)doubleValue; NSNumber可以将基本数据类型包装起来,形成一个对象,这样就可以给其发送消息,装入NSArray中等等。 NSN

记录点点滴滴 1174

infercnv的实操

摘要: 博主在infercnv分析中遇到执行困难,外包服务不可靠(未按要求使用HMM方法)。通过优化策略(逐样本处理、精简细胞至1000个、固定随机种子)解决了运行问题,但HMM功能仍无法实现。最终参考Cell期刊标准设置阈值完成分析,后续将继续更新进展。该案例凸显了生物信息分析中自主优化的重要性。(150字)

xiaoyusang的博客 308

【RT-DETR多模态融合改进】| 自研 多模态大核选择模块:MM_LSK,适配多模态图像信息融合

本文记录的利用改进的多模态大核选择模块(MM-LSK)优化RT-DETR,构建可见光-红外双模态目标检测网络。在遥感等大尺寸图像的可见光-红外双模态小目标检测任务中,单模态检测易受光照、云雾、背景干扰等因素影响,且小目标外观信息匮乏,无法仅基于单模态外观实现较好的识别,因此需要融合双模态互补特性与广泛的跨模态上下文信息进行辅助。

Limiiiing的博客 381

NSNumber的常用方法

@在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象。 @NSNumber就是数字对象我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。 @NSNumber    + (NSNumber *)numberWithInt:(int)value;    + (NSNumb

iOS界@迷糊小书童 2673

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

02-Foundation-NSMutableString、NSNumber、NSValue、NSDate、NSArray

目录: 一、NSMutableString可变字符串 二、NSNumber数字对象 三、NSValue 四、NSDate日期对象 五、NSArray数组对象 回到顶部 一、NSMutableString可变字符串 常用的操作就是crud增删改查 1 NSString只能做增查cr操作 2 NSMutableString可以做改删ud操作 3 可以改变字符串内...

a1250156的博客 167

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Foundation NSNumber NSValue NSNull NSDate

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- // // main.m // NSNumber // // Created by LiuWei on 15/4/19. // Copyright (c) 2015年 LiuWei. All rights reserved. // #import // NSNum

伟的专栏 483

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Foundation框架--- NSDate、NSNumber

创建一个时间对象 NSDate *date =[NSDate date]; //TimeInterval:时间间隔 //创建一个时间对象,比date这个时间对象万5秒 NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date]; //创建一个时间对象,比当前时间晚5秒 NSDate *date

ikj1235的专栏 546

【黑马程序员】————Foundation框架02常用类—其他

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSNumber/NSValue NSDate 1、NSNumber 1 void test() 2 { 3 NSNumber *num = [NSNumber numberWithInt:10]; 4 5 NSDic...

aa123321621的博客 222

3、Foundation

3、Foundation 常用的结构体:NSRange:NSPoint:–(x,y)NSString创建字符串方法:从文件读字符串字符串写文件其它方法(略,待补充)NSMutableStringNSArray给数组里的元素都发送相同消息:数组的遍历数组的排序:派生出...

amwhfqw5361的博客 167

Foundation框架的小总结

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

weixin_30399055的博客 142

Objective C Foundation基础框架

iOS Foundation基础框架就是以Foundation.h头文件的库 #import Mac OS X和iOS都使用了Foundation基础框架。该框架中有很多日后开发常用的API,非常基础重要。以下就常用的类和结构做个介绍。 NSObjct NSObject类,是ObjC类族中的根类。NSObject有一些高级特性支持,在灵活和高效开发中十分常用。 perform…方法和

KindAzrael的专栏 4742

视频教程-iOS开发之Objective-C(基础篇)-iOS

iOS开发之Objective-C(基础篇) 从事技术开发已经10年左右,拥...

weixin_30429117的博客 428

【Objective-C】02-OC对象作为参数传递给函数

OC对象可以作为函数参数传递给参数,以下简述对象参数在函数中的两种情况: 一、对象作为参数传递到函数中,在函数内部对此对象的参数会影响到外部传递进来的对象。 二、对象作为参数传递到函数中,在函数内部指向其它的对象后,再对此参数对象进行操作时,不影响外部传递进来的对象。 如下文中的例子,函数test1为情况一,函数test2为情况二。 #import //声明Car

HONG321的专栏 4046

【Objective-C】03-OC对象struct类型成员变量的赋值

当OC对象的成员变量是struct类型时,如果直接用c语言的方式直接赋值就会报错,如s->birthday={1990,12,11};就会抛出错误。有两种方法可以解决这个问题: 一、声明并初始化一个struct类型临时变量,再整个赋值给birthday成员。 二、对birthday成员内部的各个元素分开赋值。 #import //性别枚举 typedef enum{ Sex

HONG321的专栏 3366

【Objective-C】05-OC对象中类方法和对象方法的比较

一、类方法 1.1 当当前方法中不涉及类的成员变量时,可以把方法声明成类方法。这样做的好处是可以不用声明类的实例对象,减少内存空间的占用,提高运行效率。即类的方法不依赖于对象。 1.2 以加号 + 开头 1.3 只能由类(名)来调用 1.4 类方法中不能访问类的成员变量。如果访问,会报 error:instance variable 'age' accessed in class meth

HONG321的专栏 2789

【C语言】02-C语言字符串长度和OC字符串对象长度计算的比较

OC字符串对象主要是用length来计算字符串的长度。而C语言字符串长度的计算方法主要有两个。一个是sizeof,一个是string.h头文件下的strlen。以下是它们各自计算的区别: 1、C语言中的sizeof 1.1 sizeof(str)主要计算的是字符串占用字节的大小,并且会把''\0'结束字符计算在内。 1.2 如果传递进来的是个指针字符串,则计算的是该指针占用的字节数大小,在3

HONG321的专栏 2428

【Objective-C】10-@property和@synthesize

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一、@property和@synthesize的作用:       由于在oc语法中对成员变量的完整访问都需要先在@interface和@end之间声明成员变量,然后再声明这个成员变量的get方法和set方法。并且在@implementation和@end之间实现这个成员变量的g

HONG321的专栏 1832
上一篇: 【Foundation】18-集合类NSArray、NSSet、NSDictionary
下一篇: 【ObjectC】Xcode的常用快捷键
HONG321
博客等级 码龄19年 1粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值