文档章节

OC 基础数据类型 续篇

 蒲公英6_6守候
发布于 2015/10/20 13:37
字数 662
阅读 4
收藏 0

/--------枚举---------
//C 的枚举 :列举,集合,常数;
enum jack {
age = 10
};
// typedef 定义类目的别名
// 枚举里不可以重复定义
typedef enum{
hehe = 10
} jackI;

NSEnumerator *enumer1 = [dict2 objectEnumerator];
id thingie1;
while( (thingie1)= [enumer1 nextObject]) {
NSLog("字典枚举出来的结果>>%",thingie1);
}

//结构体 NSRect
NSRect rect = NSMakeRect(21.3, 31.1, 1.12, 312.3) ;
NSLog("%.2f %.2f %.2f %.2f",rect.origin.x,rect.origin.y,rect.size.height,rect.size.width);
//NSRange
NSString *homebrew = 
"Imperial India Pale Ale (IPA)";
NSRange range = NSMakeRange(25, 3);
NSLog("输出IPA:%",[homebrew substringWithRange:range]);
//搜索字符串:
NSRange rangeI = [homebrew rangeOfString:"IPA"];
if (rangeI.length >0) {
NSLog(
"Range is:%@",NSStringFromRange(rangeI));
}

//NSPoint
NSPoint point;
// 结构体里面的点进行赋值
point.x = 10;
point.y = 10;
point = NSMakePoint(10, 18);//快速创点
//常见的CGPointMake创点的函数
point = CGPointMake(29, 78);
NSString *pointI = NSStringFromPoint(point);
NSLog("point is%",pointI);

//NSSize尺寸
NSSize size ;
size.width = 100;
size.height = 22;
// size = NSMakeSize(12, 21);
// size = CGSizeMake(11, 11);
NSString *sizeI = NSStringFromSize(size);
NSLog("%",sizeI);

//--------NSDate---------
//--------NSDate转换为NSString---------
NSDate *date = [[NSDate alloc]init];
NSDateFormatter *date1 =[[NSDateFormatter alloc]init];
[date1 setDateFormat:"yy年MM月dd日 HH:mm:ss"];//大写HH为24小时制,小写hh为12小时制
NSString *now = [date1 stringFromDate:date];
NSLog(
"%",now);
//--------NSString转换为NSDate---------
NSString *stringTime = 
"2015年10月15日 5:51:25";
NSDate *dateNew = [[NSDate alloc]init];
dateNew = [date1 dateFromString:stringTime];
NSLog("=====>%",dateNew);

//NSValue是NSNumber的父类;
//声明并初始化一个struct
NSRect rtc = NSMakeRect(12, 32, 433, 132);
//创建一个NSValue:
//value:对象地址
//objCType:通常是一个用来描述对象类型和大小的字符串,@encode会自动生成一个合适的描述字符串
NSValue *value = [NSValue valueWithBytes:&rtc objCType:@encode(NSRect)];
//把Value添加到数组中
NSMutableArray *array1 = [NSMutableArray arrayWithCapacity:10];
[array1 addObject:value];

NSRect rt;
//从数组中取到NSValue,因为只添加了一个,所以小标是0
NSValue *v = [array1 objectAtIndex:0];
//从value中取得一个NSSet,虽然返回值是void,但其实是它利用指针返回值的
[v getValue:&rt];
//输出结果
NSLog("%.2f %.2f %.2f %.2f ",rt.origin.x,rt.origin.y,rt.size.height,rt.size.width);
//用快速枚举遍历array并输出NSValue中struct属性的值
for (NSValue *v in array1) {
NSRect rt;
[v getValue:&rt];
NSLog(
"%.2f %.2f %.2f %.2f ",rt.origin.x,rt.origin.y,rt.size.height,rt.size.width);
}

//--------便捷的struct转换成NSValue方式---------
//声明并初始化一个struct
NSRect rtc1 = NSMakeRect(100, 200, 300, 400);
//创建一个NSValue
NSValue *value1 = [NSValue valueWithRect:rtc1];
//把value1添加到数组中
NSMutableArray *array3 = [NSMutableArray arrayWithCapacity:10];
[array3 addObject:value];
NSRect rt1 = [value1 rectValue];
//输出
NSLog(@"%.1f %.1f %.1f %.1f",rt1.origin.x,rt1.origin.y, rt1.size.height, rt1.size.width);

//--------id新手只需知道它可以代表所有---------
Person *personhe = [[Person alloc]init];
Man *manhe = [[Man alloc]init];
Man *mands = [[Person alloc]init];
id presonde = [[Person alloc]init];
id mande = [[Man alloc]init];
id string11 = [[NSString alloc]init];
id object11 = [[NSObject alloc]init];


© 著作权归作者所有

共有 人打赏支持
上一篇: 内存管理机制
粉丝 0
博文 15
码字总数 7681
作品 0
西安
私信 提问
从零开始(2)

点击进入续篇3 点击进入续篇3 点击进入续篇3 ( 141 ) OC模型类Swift存取 详情请点击此处 ( 140 ) Cannot subclass a class with objcsubclassingrestricted attribute 详情请点击此处 ( 139 ...

阴雨音语
2016/04/06
115
0
从零开始(1)

这里是从零开始的起点 开续篇了之2 点击进入续篇 点击进入续篇 点击进入续篇 ( 100 ) 一个鸡肋的View旋转 详情请点击此处 ( 99 ) a simple and old Switch 详情请点击此处 ( 98 ) Swift和OC如...

阴雨音语
2016/03/05
224
0
iOS狂暴之路(开始篇)---学习路线总结

一、学习路线规划 现如今移动端的两大平台Android和iOS是风光无限,但是又有谁能够保证这两个平台能够昌盛一辈子呢?谁也不敢保证其中一个在未来几年之后就会成为第二个诺基亚,所以我们现在...

jiangwei0910410003
2016/09/06
0
0
IOS语法 @property里的assign,copy,retain的区别

@property(nonatomic,copy)NSString* str; 这里的assign copy retain的区别: assign:这个是简单赋值,不更改引用索引计数(reference counting); copy:建立索引计数为一的对象,然后释放...

love丁小南
2014/04/20
0
0
swift 3.0 学习

The Basics Swift是一种新型的针对苹果系列产品的开发语言。尽管如此,Swift的发展是是从你C和OC中获取的。 Swift提供所有C和OC基础类型的版本,包括为整数,整数双浮点数和浮动,Bool布尔值,...

f逍遥一世
2016/10/09
24
0

没有更多内容

加载失败,请刷新页面

加载更多

Maven 依赖范围(Dependency Scope)

Dependency Scope Dependency scope is used to limit the transitivity of a dependency, and also to affect the classpath used for various build tasks. 依赖范围用于限制依赖项的传递性......

晨猫
3分钟前
0
0
细述hbase协处理器

1.起因(Why HBase Coprocessor) HBase作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执行求和、计数、排序等操作。比如,在旧版本的(<0.92)Hbase中,统计数据表的...

微笑向暖wx
16分钟前
1
0
【实践】如何获得Rinkeby网络的测试以太币

当把智能合约部署到Rinkeby Test Network时,需要获得测试以太币。其网络获取测试以太币的方法同Ropsten Test Network有些不同,本文详细讲解一下。 1 访问网站 访问rinkeby网络(https://w...

HiBlock
37分钟前
1
0
Logback中如何自定义灵活的日志过滤规则

当我们需要对日志的打印要做一些范围的控制的时候,通常都是通过为各个Appender设置不同的Filter配置来实现。在Logback中自带了两个过滤器实现:ch.qos.logback.classic.filter.LevelFilter...

程序猿DD
44分钟前
3
0
ES6中let 和 const 的新特性

在javascript中,我们都知道使用var来声明变量。javascript是函数级作用域,函数内可以访问函数外的变量,函数外不能访问函数内的变量。 ECMAScript 6 是 JavaScript 语言教程,全面介绍 EC...

peakedness丶
51分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部