文档章节

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
Swift4.0基础知识回顾

简单介绍一下Swift Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序,Swift语言让应用开发更简单、更快、更稳定,确保最终应用有着更好的质量更多了解Swift可以去《The...

博行天下
2017/12/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

tac 与cat

tac从后往前看文件,结合grep使用

writeademo
今天
2
0
表单中readonly和dsabled的区别

这两种写法都会使显示出来的文本框不能输入文字, 但disabled会使文本框变灰,而且通过通过表单提交时,获取不到文本框中的value值(如果有的话), 而readonly只是使文本框不能输入,外观没...

少年已不再年少
今天
2
0
SpringBoot上传图片操作

首先有个上传文件的工具类 /** * 文件上传 * @param file * @param filePath * @param fileName * @throws Exception */public static void uploadFile(byte[] file, String ...

_liucui_
今天
6
0
DrawerLayout

public class MainActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener,OnFragmentInteractionListener{ public NavigationView navView; ......

安卓工程师王恒
今天
2
0
python精简笔记

python精简笔记-字符串基本用法 字符串常见用法: * encode() # 编码成bytes类型 * find() # 查找子串 * index() # 获取下标 * replace() # 替换子串 * len(string) # 返回字符串长度,...

平头哥-Enjoystudy
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部