黑马程序员——Foundation框架学习——OC结构体、字符串、OC集合、NSNumber,NSValue、OC时间对象

OC常用结构体 四个常用的OC结构体: NSRange(location length) NSPoint\CGPoint NSSize\CGSize NSRect\CGRect (CGPint CGSize) 立即下载

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

一、 OC结构体

OC中给我们封装好了一些结构体供我们使用

如:

NSRange(location length) :用于标记字符串中某个字符或者字符串的位置或者长度
 NSPoint\CGPoint:记录屏幕中一个点的位置。
 NSSize\CGSize: 记录屏幕中区域的范围,长 和 宽。
 NSRect\CGRect (CGPint CGSize):用于记录屏幕中某一确定范围,它包括:点NSPoint\CGPoint,和范围:NSSize\CGSize。这样就可以确定一个区域了。


上面的方法名有NS开头和CG开头,CG开头的结构体具有跨平台性。


在iOS中我们将屏幕的左上方设为原点。

NSRect\CGRect中计算屏幕大小方式:以点坐标向下和向左加上范围长和宽。


1. NSRange(location length)的使用

 //确定 @"i love oc"  中 love的范围
    
    //NSRange r1 = {2, 4}; // 不用
    //NSRange r2 = {.location = 2, .length = 4};// 不用
    //NSRange r3 = NSMakeRange(2, 4); // 掌握
    NSString *str = @"i love oc";
    
    // 查找某个字符串在str中的范围
    // 如果找不到,length=0,location=NSNotFound==-1
    NSRange range = [str rangeOfString:@"java"];
    NSLog(@"loc = %ld, length=%ld", range.location, range.length);

在找不到字符串范围结果的时候:location=NSNotFound==-1  一般显示结果不是-1 是一串数字,是因为location类型为unsigned long 无符号 将-1以无符号的形式输出了


2.NSPoint\CGPoint 、NSSize\CGSize、NSSize\CGSize的使用

 CGPoint p1 = NSMakePoint(10, 10); // 点(10, 10)
    NSPoint p2 = CGPointMake(20, 20); // 最常用。点(20, 20)
    
    NSSize s1 = CGSizeMake(100, 50); // 宽:100,高:50
    NSSize s2 = NSMakeSize(100, 50); // 宽:100,高:50
    
    CGRect r1 = CGRectMake(0, 0, 100, 50);
    CGRect r2 = { {0, 0}, {100, 90}};
    CGRect r3 = {p1, s2};
    
    // 表示原点
    // CGPointZero == CGPointMake(0, 0)

    // 使用CGPointZero等的前提是添加CoreGraphics框架
    CGRect r4 = {CGPointZero, CGSizeMake(100, 90)};
    
    // 将结构体转为字符串
    NSString *str1 = NSStringFromPoint(p1);
    
    NSString *str2 = NSStringFromSize(s2);
    
    NSString *str3 = NSStringFromRect(r3);
    
    NSLog(@"%@--%@--%@", str1, str2, str3);
    
    /*
     输出结果:
     {10, 10}--{100, 50}--{{10, 10}, {100, 50}}
     结构体转换成字符串后输出相应的点坐标,范围大小和位置。
     */
    /*
     NSLog(@"(x=%f, y=%f), (width=%f, height=%f)", r3.origin.x, r3.origin.y, r3.size.width, r3.size.height)  ==     NSLog(@"%@", str3);

    */

3. 结构体的一些方法

1> 比较两个点是否相同

// 比较两个点是否相同(x、y)
    BOOL b = CGPointEqualToPoint(CGPointMake(10, 10), CGPointMake(10, 10));

2> 判断一个区域是否含有某个点

//区域的范围 x (50, 150) y (40 , 90)
    BOOL b2 = CGRectContainsPoint(CGRectMake(50, 40, 100, 50), CGPointMake(60, 45));

使用这些CGPointEqualToPoint、CGRectContainsPoint等函数的前提是添加CoreGraphics框架,Xcode6.2中不需要。


二、 字符串

1、字符串的创建

  直接创建:    NSString *s1 = @"jack";  ====   NSString *s2 = [[NSString alloc] initWithString:@"jack"];
 

字符串带参数: 

     int a = 10;

     NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d", a];
   

C字符串 --> OC字符串

初始化方法:initWithUTF8String
    NSString *s4 = [[NSString alloc] initWithUTF8String:"jack"];


 OC字符串 --> C字符串
    const char *cs = [s4 UTF8String];
    
    // NSUTF8StringEncoding 用到中文就可以用这种编码
    NSString *s5 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];

 将本地文件作为字符串导出

        NSString *str5 = [[NSString alloc] initWithContentsOfFile:@"/Users/dymost/Desktop/作业.m" encoding:NSUTF8StringEncoding error:nil];
        NSLog(@"\n%@", str5);  // 输出结果为文件内容


将文件以字符串形式导出和保存,一般用URL。 URL也叫资源路径,分为本地文件和服务器文件。

     格式 --> 协议头://路径
     本地文件:  file:///Users/dymost/Desktop/作业.m
     网络文件:
     ftp://
     http://www.baidu.com


(NSString *) 在xcode6.2中不支持中文路径 !!! 否则打印无结果, 换成没有中文字符的路径,则成功
     NSURL *url = [NSURL alloc] initWithString:<#(NSString *)#>
     NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/dymost/Desktop/作业.m"];
     
     NSString *str6 = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
     NSLog(@"%@", str6);
     
     输出结果:2015-04-01 10:34:39.039 02-NSString字符串[568:28985] (null)
     Program ended with exit code: 0

成功输出文件内容

        NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/dymost/Desktop/m.m"];
        NSString *str6 = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
        NSLog(@"\n%@", str6);

xcode 6.2 fileURLWithPath 中可以出现中文字符
    NSURL *url2 = [NSURL fileURLWithPath:@"/Users/dymost/Desktop/作业.m"];
    NSString *str7 = [[NSString alloc] initWithContentsOfURL:url2 encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"\n%@", str7);  // 输出文件内容



字符串还分为可变字符串和不可变字符串

一般创建的NSString 字符串是不可变字符串,既创建完后不可再改变。

可变字符串是用NSMutableString创建的,创建完后可以改变。

比如调用方法在可变字符串后面拼接字符串,调用appendString方法[字符串指针 appendString:字符串];

可变字符串的一些方法:

        // 创建可变字符串
        NSMutableString *s1 = @"dymost";
        // 创建带有参数的可变字符串
        NSMutableString *s2 = [NSMutableString stringWithFormat:@"dymost age is %d", 23];
        
        // 在可变字符串后拼接字符串
        [s1 appendString:@"age"]; // 不带参数
        [s1 appendFormat:@" is %d", 23]; // 带参数
        
        // 获取is的范围
        NSRange range = [s2 rangeOfString:@"is"];
        
        // 删除is
        [s2 deleteCharactersInRange:range];
        

三、 OC的集合

1、 OC数组NSArray\NSMutableString

OC数组存储的时对象,在后面引用别的方法来使OC数组能存储基本数据类型。

OC数组也分为可变的和不可变的两种。

1--->不可变数组NSArray

     1.OC数组的创建
     [NSArray array]  一直为空 
     [NSArray arrayWithObject:id]; 存储单个对象
     [NSArray arrayWithObject:多个对象, nil];  存储多个对象
     @[对象1, 对象2, 对象3……]; 快速创建对象

    NSArray *array1 = [NSArray array];
    NSArray *array2 = [NSArray arrayWithObject:@"dymost"];
    NSArray *array3 = [NSArray arrayWithObjects:@"dymost", @"dimost", nil];
    NSArray *array4 = @[@"dymost", @"dimost"];

     OC数组中不能有nil,因为OC数组默认将nil当成OC数组元素结束的标志
     OC数组可以存放不同类型的OC对象,但仅仅只能存放OC对象,基本数据类型不能存放,比如int,struct、enum等
     NSArray 是不可变数组当数组创建时没有赋值初始化,将一直是空
     
     2. 访问OC数组中元素的个数(得出数组元素个数)
     点语法:  数组名.count
     调用对象方法:  [数组名 count];

int a = array1.count;
int b = [array1 count];
    
     3. OC数组中元素的访问
     1> 调用对象方法
     [oc数组名 objectAtIndex: 位置序号]
     2> OC数组名[位置序号]
    NSLog(@"%@", array3[1]);
    NSLog(@"%@", [array3 objectAtIndex:1]);

    4.遍历数组中的对象

     1>通常方法for循环,不用代码块block

        Person *p1 = [[Person alloc]init];
        Person *p2 = [[Person alloc]init];
        Person *p3 = [[Person alloc]init];

        NSArray *arr = @[p1, p2, p3];
        for (int i = 0; i < arr.count; i++) {
            NSLog(@"%@", arr[i]);
        }

      2>特殊for循环

        // id obj代表数组中的每一个元素
        //int i = 0;
        for (id obj in arr)
        {
            // 找出obj元素在数组中的位置
            NSUInteger i = [arr indexOfObject:obj];
            
            NSLog(@"%ld - %@", i, obj);
        }

      3>利用block代码块,调数组方法 enumerateObjectsUsingBlock

[arr enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
            NSLog(@"%ld - %@",idx, obj);
            if (idx == 1) {
                *stop = YES;
            }
        }];


2-->可变数组的基本使用

NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil];
    
    // 添加元素
    [array addObject:[[Person alloc] init]];
    
    [array addObject:@"jack"];
    
    // 删除元素
    //[array removeAllObjects];
    // 删除指定的对象
    // [array removeObject:@"jack"];
    [array removeObjectAtIndex:0];
    
    // 错误写法
    // [array addObject:nil];

2、 NSSet\NSMutableSet

NSSet和NSArray的对比
 1> 共同点
 * 都是集合,都能存放多个OC对象
 * 只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)
 * 本身都不可变,都有一个可变的子类
 
 2> 不同点
 * NSArray有顺序,NSSet没有顺序


1-->NSSet的基本使用

NSSet *s = [NSSet set]; // 创建一个空Set,直到消失都是空
    
    NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose", @"jack2",@"jack3",nil];
    
    // 随机拿出一个元素
    NSString *str =  [s2 anyObject];
    
    NSLog(@"%@", str);
    
    // 计算Set其中存储的对象个数
    NSLog(@"%ld", s2.count);

2-->NSMutableSet的基本使用

    NSMutableSet *s = [NSMutableSet set];
    
    // 添加元素
    [s addObject:@"hack"];
    
    // 删除元素
    [s removeObject:<#(id)#>]; // 参数填写的是对象,写哪个对象删除哪个对象


 3、 NSDictionary\NSMutableDictionary

字典中存储的对象是一对一对的,我们称之为键值对。

      key ----> value
     索引 ----> 文字内容

1> 创建不可变字典

   // 字典存储一个键值对的方法
    NSDictionary *dict = [NSDictionary dictionaryWithObject:@"dymost" forKey:@"name"];
    
    // 字典存储多个键值对的方法
    NSArray *value = @[@"dimsot", @"beijin"];
    NSArray *key = @[@"name", @"address"];
    NSDictionary *dics = [NSDictionary dictionaryWithObjects:value forKeys:key];
    // 或者NSDictionary *dics = [NSDictionary dictionaryWithObjects:@"dimsot", @"beijin" forKeys:@"name", @"address"];
    NSDictionary *dic1 =[NSDictionary dictionaryWithObjectsAndKeys:
                         @"dymost",@"name",
                         @"北京",@"address",
                         @"867036316",@"QQ",
                         nil];
    NSDictionary *dic2 = @{@"name" : @"dymost", @"address" : @"北京"};

     字典是通过索引key 来寻找内容value的

    id obj = [dic1 objectForKey:@"name"];
    id obj1 = dic2[@"name"];

     获取字典中键值对的个数

    NSLog(@"\n%ld", dics.count); // .count 返回的时键值对个数
    NSLog(@"%d",[dic2 count])

     直接输出字典

    NSDictionary *dic2 = @{@"name" : @"dymost", @"address" : @"北京"};
    NSLog(@"%@", dic2);

结果是,是不能输出汉字的,且为随机输出键值对

 {
    address = "\U5317\U4eac";
    name = dymost;
}

2> 可变字典基本使用

    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    
    // 直接初始化赋值
    NSMutableDictionary *dict1 = @{@"name" : @"dymost"};
    // 添加键值对
    [dict setObject:@"dymost" forKey:@"name"];
    [dict setValue:@"beijin" forKey:@"address"];
    Person *p = [[Person alloc] init];
    [dict setObject:p forKey:@"obj"];
    
    // 移除键值对
    [dict removeObjectForKey:@"name"];
    
    NSString *str = dict[@"obj"]; // 可以将对象赋值给字符串
    
    //打印可变字符串
    NSLog(@"%@",dict1);
    NSLog(@"%@", @[@"jack", @"rose"]);

3、 字典是的一些使用注意和方法

字典不允许有相同的key,但允许有相同的value(object)
字典存储的时候是无序的。

和NSArray 同类方法变量字典

[dict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
        NSLog(@"%@ --- %@", key, obj);
        *stop = YES;
    }];

4、 字典数组相互嵌套

 NSArray *arr = @[
                     @{@"name" : @"dymost", @"address" : @"beijin", @"book" : @[@"Object-C", @"C语言"]},
                     @{@"name" : @"dimost", @"QQ" : @"86703616"}
                     ];

输出其中信息

    NSString *bookName = arr[0][@"book"][1];
    NSLog(@"%@", bookName);
    
    NSArray *array =arr[0][@"book"];
    NSLog(@"%@", array);

集合
 1.NSArray\NSMutableArray
 * 有序
 * 快速创建(不可变):@[obj1, obj2, obj3]
 * 快速访问元素:数组名[i]
 
 2.NSSet\NSMutableSet
 * 无序
 
 3.NSDictionary\NSMutableDictionary
 * 无序
 * 快速创建(不可变):@{key1 : value1,  key2 : value2}
 * 快速访问元素:字典名[key]


四、 NSNumber和NSValue

这两个类就是将基本数据类型包装成类,使得OC集合可以进行存储。

1、 NSNumber

1>将int型包装成NSNumber对象

    NSNumber *num = [NSNumber numberWithInt:10];

   快速方法: @“10”

2> 将  NSNumber 对象转成int型

    int a = [num intValue];

3> 将其他基本类型转成 NSNumber

double: @“10.3”

BOOL: @“YES”

char: @"c"

字符串: @“a”

    // 将age变量包装成NSNumber对象
    int age = 100;
    @(age);

4> 将NSNumber转成 其他类型

方法

[NSNumber对象  doubleValue]

[NSNumber对象  charValue]

[NSNumber对象  BOOLValue]

[NSNumber对象  stringValue]


2、 NSValue

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

NSValue不仅能转换基本数据类型,还能转换结构体

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

五、 OC的时间的时间对象 NSDate

创建时间对象

    NSDate *date = [NSDate date];  // 对象中默认记录系统时间格林时区0时区

打印时间对象

NSLog(@"%@", date);


创建比现在时间早几秒的时间对象方法

    NSDate *date2 = [NSDate dateWithTimeInterval:5 sinceDate:date];

还有一种创建时间对象的方式,计算从1970年1月1号00时00分00秒 到现在的秒数

    NSTimeInterval seconds = [date2 timeIntervalSince1970];

记录到现在的秒数

[date2 timeIntervalSinceNow];

格式化输出日期的方法

首先要创建日期格式化类

    // 日期格式化类
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    // 再调用日期格式化 对象方法 dateFormat 来规定日期格式

        formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";

    NSDate *date = [NSDate date];

    NSString *str = [formatter stringFromDate:date];
    
    NSLog(@"%@", str);

将字符串转换成时间对象的方法,用上面的日期格式输出

NSString *time = @"2011/09/10 18:56";

NSDate *date = [formatter dateFromString:time];
    NSLog(@"%@", date);

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

threejs中使用Reflector实现出倒影效果,并实现背景透明的效果(Reflector镜面背景透明, 倒影弱化) 在项目中遇到要实现倒影效果,threejs给我们提供了Reflector,可以轻松完成镜面效果,实现倒影。但背景不透明;并且反射出的倒影太亮了;网上没搜到解决方案, 自己修改了下源码实现了想要的效果,做个记录... 阅读详情

相关推荐

Xilinx VU+系列多DIE FPGA时序约束与跨DIE信号优化策略

本文深入探讨了Xilinx VU+系列多DIE FPGA的时序约束与跨DIE信号优化策略。针对2.5D/3D封装技术带来的时序挑战,详细解析了SLR区域约束、Laguna寄存器配置及跨时钟域约束等关键技术,提供了实用的TCL脚本和RTL优化示例,帮助开发者有效提升设计性能和时序收敛效率。

weixin_29209801的博客 654

OC中的结构体

一.结构体 结构体只能在定义的时候进行初始化 给结构体属性赋值 + 强制转换: 系统并不清楚是数组还是结构体,需要在值前面加上(结构体名称) +定义一个新的结构体,进行直接赋值 + 逐个赋值注意点 + 不要将进制间搞混 //因为结构体已经初始化为0了,再次初始化就报错了,但是可以逐个赋值。 //p->_birthday = {199...

weixin_30952103的博客 599

基于gm/id方法的折叠式共源共栅放大器设计实践

本文详细介绍了基于gm/id设计方法进行折叠式共源共栅放大器设计的完整流程。该方法通过确定晶体管的跨导效率(gm/id)作为核心设计参数,将复杂的放大器设计转化为有明确路径的优化问题。文章以设计一个增益80dB、带宽1GHz的两级放大器为例,逐步拆解了从指标分解、关键晶体管工作点选取、到实战仿真与微调的全过程,特别强调了第二级设计对稳定性的影响以及相位裕度的调试技巧。

w8x9y0z1的博客 415

OC底层探索(五) 类的结构分析

objc_object 与 objc_class 我们在使用clang方式将OC代码编译成cpp文件(c++)时,我们会发现类是的底层编译是结构体,如: NSObject的底层编译是NSObject_IMPL结构体。 其中Class是isa指针类型,而Class是objc_class类型的变量; struct NSObject_IMPL{ Class isa; }; typedef struct objc_class *Class; 在objc4源码中搜索objc_class的定义,我们就会发现o

正在注销账号的博客 549

华为手环实时心率数据导出到UWP项目中

hello大家好呀O(∩_∩)O最近在做毕设 其中有个小功能要用到实时心率数据。查找网上的资料发现只有小米手环的实时心率数据导出但是没有华为手环的,我试了华为手环但是并不能行得通哈哈哈。现在分享一下华为手环实时心率数据导出的代码。

apple_63713858的博客 1581

AI落地困局与破局者FDE:从技术神话到价值实干的战略转型

AI落地困局与破局者FDE:从技术神话到价值实干的战略转型 当前AI企业级应用面临三大核心挑战:业务场景深度非标化、技术落地"最后一公里"困局、以及市场竞争焦点转向实用价值。前线部署工程师(FDE)作为破局关键,通过技术-业务-产品三维交汇的复合能力,将AI从实验室推向生产环境。FDE不仅是技术架构师,更是业务价值挖掘机和产品进化传感器,通过"碎石路-高速公路"双循环模式,将定制化需求沉淀为可复用的平台能力。这种模式颠覆了传统SaaS的销售逻辑,形成基于价值的J型增长

随笔记录-分享&记忆 3995

foundation框架—结构体

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

weixin_33812433的博客 292

21、空间数据处理中的克里金方法及应用

本文介绍了空间数据处理中的克里金方法,特别是带外部漂移的克里金法(KED)及其在遥感数据融合和支持变化问题中的应用。讨论了克里金方法的基本原理、优缺点以及在不同空间分辨率遥感图像融合中的具体操作流程。同时,还涉及了地统计数据融合和支持变化问题的解决方案,包括块克里金法、面到点克里金法和多边形克里金法等。

gold的博客 87

黑马程序员--oc结构体

一、oc结构体   (1)NSRange 简介:用于描述的一部分串联如在字符串或物体在一个NSArray对象字符的结构。 定义: typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange;    调用方式一:     NSString *str = @"i love oc";  N

gululu23的专栏 475

解决Office 365 SMTP问题:C#邮件发送详解

本文介绍了如何在C#中使用Office 365 SMTP服务发送邮件。重点讲解了正确配置SMTP客户端的关键参数:必须使用587端口并启用TLS加密(EnableSsl=true),同时通过NetworkCredential进行身份验证。虽然SmtpClient已不推荐用于新项目,但本文提供的代码示例仍适用于临时项目或系统维护,并建议未来可考虑使用MailKit等现代邮件库。文章还包含了错误处理机制,确保程序健壮性。

2501_90323865的博客 141

Arcgis中的模型构建器(ModelBuilder)技术之批量图层转KML

这段时间全省各地都在开展耕地流出图斑整改恢复工作,期间或多或少都需要村委会协助摸排举证,除了举证软件外,奥维、外业精灵等软件想必大家接触得也很多。这就经常需要我们转kmz文件给业主或者摸排人员,那么有没有什么方法在arcgis下快速批量转kmz文件呢,今天就介绍一下如何在模型构建器(ModelBuilder)构建批量图层转KML的模型。

weixin_44671081的博客 1324

黑马程序员——Foundation框架NSNumber和NSValue的介绍和使用

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 第一讲   NSNumber的介绍和使用 概念: NSArray\NSDictionary中只能存放OC对象, 不能存放int\float\double等基本数据类 如果真想把基本数据(比如int)放进数组或字典中, 需要先将基本数据类型包装成OC对象 NS

Itzhen的博客 539

OpenClaw用户必看:每天0成本使用OpenClaw!NVIDIA NIM免费大模型接入教程

🚀 OpenClaw接入NVIDIA NIM免费API!glm5、minimax-m2.5等大量模型任选,0成本升级AI助手!💰

XiaoqiangClub的博客 5578

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

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

timehzy的博客 663

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Statistics and Machine Learning Toolbox

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

黑马程序员_OC_Foundation框架

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

huangchen_wyx的专栏 607

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

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

jerome3的专栏 609

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

黑马程序员-iOS基础-Foundation框架基础

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 黑马程序员-iOS基础-Foundation框架基础 一、Foundation框架基础    作用:Foundation框架是其他所有IOS框架的基础    包含了很多开发中常用的数据类型:结构体;枚举;类等。    使用方法: 想要使用Foundation框架中的数据类型,包含它的主

deng0512的专栏 621

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

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

conpgy的专栏 903

黑马程序员——Objective-c——Foundation的NSValue和NSDate

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- NSNumber  继承于 NSValue   1、将基本数据类型转为OC对象 NSNumber *n = [NSNumber numberWithInt:10];      NSString *n1=[NSString stringWithFormat:@"%d",10]

sheji的专栏 655

黑马程序员——OC学习之Foundation框架常用类的常用方法

Foundation框架中常用对象有 一.常用结构体 NSRange(location length)       //表示范围 NSPoint\CGPoint                        //表示坐标 NSSize\CGSize、                       //表示大小 NSRect\CGRect                         //

gissinghxu的专栏 582

黑马程序员——Foundation框架——包装类以及NSDate

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 在复习了Foundation的集合类之后,继续我的Foundation复习。

Elors的博客 692

黑马程序员——11、OC语言(Foundation框架的简单使用)

一、结构体

tan_qi的专栏 648

黑马程序员--10 OC Foundation框架

集合(有序数组NSArray,无序数组NSSet,无序字典NSDictionary ) NSArray  NSArray是OC的数组, 以面向对象的形式操作数组. NSArray是OC的有序数组,可以存储任何类型的OC对象,但是不能储存nil、int、float、enum、struct等类型的数据 NSArray是不可变数组. 数组元素在创建数组时就被确定. 数组创建后不可添加/修

xizhengmeng的专栏 425

【黑马训练营】IOS C语言Foundation框架

Foundation框架 1、Foundation框架概况       前面我们已经提过Foundation框架含有100多个类、14000多行代码、占近1M的存储空间。它是Application kit和UIKit框架的基础。它包含了很多有用的面向数据的简单类和数据类型,如结构体、NSString、NSArray、NSEnumerator和NSNumber等。在oc程序中都有Foundat

wangqiang_的博客 565

黑马程序员---Foundation常用类(NSNumber、NSValue、NSDate)

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

Halo的专栏 454

【黑马程序员】【Foundation框架】NSNumber、NSValue和NSData

//集合只能盛放对象 对于基本数据类型封装需要用NSnumber来转换 NSNumber *number = [NSNumber numberWithInt:2];        NSMutableDictionary *dic = @{                                 @"name": @"dajie",                    

MarsII的iOS技术博客 391
上一篇: 黑马程序员——OC语言学习——ARC机制、block代码块、protocol协议、protocol协议的应用
dimost
博客等级 码龄12年 1粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值