OC 基础数据类型 续篇
OC 基础数据类型 续篇
蒲公英6_6守候 发表于2年前
OC 基础数据类型 续篇
  • 发表于 2年前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 学生专属云服务套餐 10元起购>>>   

摘要: 这里注释都比较明确,这里主要是多练练,说的不多,如果有什么不懂的地方,可以问我,往后我会每天都来看看的。 尽量做到把自己毁的全部告诉你们, //-----------高手请绕道------------

/--------枚举---------
//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
×
蒲公英6_6守候
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: