文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7全局安装composer

1. 下载composer-setup.php到当前目录 php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" 2. 安装 php composer-setup.php 3. 将composer设置成全局 mv c......

月夜中徘徊
28分钟前
1
0
20180920上课截图

小丑鱼00
35分钟前
1
0
基于TCP的远程服务调用

前言 上篇,分析了基于HTTP方式的RPC调用。本篇将在上篇的基础上,分析基于TCP方式的RPC调用。代码的整体思路是一致的,可以看作是在上篇功能上的扩展——即通信的方式。 代码:https://git...

MarvelCode
37分钟前
1
0
67:shell脚本介绍 | shell脚本结构 | 执行data命令用法 | shell脚本中变量

1、shell脚本介绍: shell是一种脚本语言和传统的开发语言相比,会比较简单: shell有自己语法,可以支持逻辑判断、循环等语法: 可以自定义函数,目的是减少重复的代码: shell是系统命令的集合...

芬野de博客
今天
1
0
json schema

json schema是用来验证和描述json对象结构的。 在线验证:https://www.jsonschemavalidator.net/ json schema 编辑器,推荐VSCode,写上"$schema": "https://raw.githubusercontent.com/jso......

谷永权
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部