Foundation框学习推存博客:http://blog.csdn.net/jianxin160/article/details/47753195#array

//  Fundation#import <Foundation/Foundation.h>// 14. 自定义一个Ball类,有一个颜色属性(只有黑色和白色)。
typedef enum _BallColor{BallColorRed,BallColorBlack,
}BallColor;@interface Ball : NSObject@property (nonatomic,assign)BallColor color;+ (Ball *)ball;
+ (Ball *)ballWithColor:(BallColor) color;@end@implementation Ball+ (Ball *)ball{Ball * bb = [[Ball alloc]init];NSInteger rand = arc4random()%2;if (BallColorBlack == rand) {bb.color = BallColorBlack;}elsebb.color = BallColorRed ;return bb;
}
+ (Ball *)ballWithColor:(BallColor)color{Ball * p = [self ball];p.color = color;return p;}
- (NSString *)description{NSString * color1 ;color1 = nil ;if (BallColorRed == _color) {color1 = @"红色";}elsecolor1 = @"黑色";return [NSString stringWithFormat:@"当前求的色是:%@",color1];
}
@end//// 过滤str中的数字,并返回
#pragma mark - 过滤str中的数字,并返回
NSString * stringWithoutNum(NSString *str){NSMutableString * mutStr = [NSMutableString stringWithString:str];for (int i = 0 ; i<10; i++) {[mutStr replaceOccurrencesOfString:[NSString stringWithFormat:@"%d",i]withString:@""options:NSLiteralSearchrange:NSMakeRange(0, mutStr.length)];}return mutStr;
}// 将num转换成字符串
#pragma mark - 将num转换成字符串
NSString *castToStr(NSInteger num){return [NSString stringWithFormat:@"%ld",num];
}// 传入一个数组,返回一个数组其中元素不能包含10.
#pragma mark - 传入一个数组,返回一个数组其中元素不能包含10.
NSArray *kickOffEven(NSArray *array){NSMutableArray * mutArr = [NSMutableArray arrayWithArray:array];for (int i = (int)mutArr.count-1; i>=0; --i) {if(10 == [mutArr[i] integerValue])[mutArr removeObjectAtIndex:(NSUInteger)i ];}return mutArr ;
}int main(int argc, const char * argv[])
{@autoreleasepool {// 1. 现有如下定义的字符串: NSString * str=@“iphoneAndroid”,能不能对该字符串进行修改,如果能,请输出删除Android后的新字符串。NSMutableString * str = [NSMutableString stringWithString:@"iphoneAndroid"];NSString * delstr = @"Android";NSRange  range = [str rangeOfString:delstr];NSLog(@"%@",[str substringToIndex:range.location]);// 2. 求字符串“158”和“39”按十进制数值做差后的结果以字符串形式输出NSInteger mins = [@"158" integerValue] - [@"39" integerValue];NSLog(@"%ld",mins);// 3. 取出符串“123-456-789-000”中的数字部分,组成一个新的字符串输出NSMutableString * str1 = [NSMutableString stringWithString:@"123-456-789-000"];[str1 replaceOccurrencesOfString:@"-" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, str1.length)];NSLog(@"%@",str1);// 4.实现函数 NSString * stringWithoutNum(NSString *str);NSLog(@"%@",stringWithoutNum(@"abc123defg22aaAA"));// 5. 完成NSString *castToStr(NSInteger int);函数NSLog(@"%@",castToStr(123466));// 6. 定义一个含有10个整数元素的数组tens。NSArray * tens = @[@1 , @2 , @3 , @4 , @10 , @6 , @7 , @8 , @9 , @10];//NSLog(@"%@",tens);// 7. 实现函数:NSArray *kickOff10(NSArray *array)NSArray * tTens = [NSArray arrayWithArray:tens];tTens = kickOffEven(tTens);NSLog(@"%@",tTens);// 8. 定义一个数组用来存储学生的姓名,存入5个学生姓名。NSArray * arrName = [[NSArray alloc]init];for (int i = 1; i <= 5; i++) {//[mutarr addObject:];arrName = [arrName arrayByAddingObject:[NSString stringWithFormat:@"name%d",i]];}/* 也可安第 6 问对数组初始化*/NSLog(@"第8个输出:%@",arrName);// 9. 将学生姓名数组存入文件保存。NSString * url = @"/Users/qujie/Desktop/1.txt";[arrName writeToFile:url atomically:YES];// 10.读取文件,并将内容输出。arrName = nil ;arrName = [NSArray arrayWithContentsOfFile:url];NSLog(@"第10个输出:%@",arrName);// 11. 在一个字典中存储学生信息(姓名,年龄,性别)。NSDictionary * sutInformation = @{ @"name": @"name_xx",@"age" : @"20",@"sex" : @"man"};NSLog(@"第11个输出:%@",sutInformation);// 12. 生成3个学生信息,存入一个数组中。NSMutableArray * sutInfoArr = [NSMutableArray array];for (int i = 0; i < 3 ; ++i) {NSDictionary * sutInformation = @{ @"name": [NSString stringWithFormat:@"name_%d",i],@"age" : @"20",@"sex" : @"man"};[sutInfoArr addObject:sutInformation];}NSLog(@"第12个输出:%@",sutInfoArr);// 13. 输出数组。// 14. 自定义一个Ball类,有一个颜色属性(只有黑色和白色)。Ball * ball = [Ball ballWithColor:BallColorBlack];NSLog(@"第14个问题输出:%@",ball);// 15. 随机生成20个小球,放入一个集合中。NSMutableSet * ballSet = [NSMutableSet setWithCapacity:20];for (int i=0; i < 20 ; i++) {[ballSet addObject:[Ball ball]];}// 16. 从集合中取出10个小球,并打印出来。NSMutableArray * ballMut = [NSMutableArray arrayWithCapacity:10];for (int i = 0 ; i < 10 ; i++) {Ball * b = [ballSet anyObject];[ballSet removeObject:b];[ballMut addObject:b];}NSLog(@"第16个输出:%@",ballMut);// 17. 将2013年05月05日转换为2013-05-05NSDateFormatter * formatter = [[NSDateFormatter alloc]init];formatter.dateFormat = @"yyyy年MM月dd日";NSDate * date = [formatter dateFromString:@"2013年05月05日"];NSDateFormatter * formatter2 = [[NSDateFormatter alloc]init];formatter2.dateFormat = @"yyyy-MM-dd";NSString * dateString = [formatter2 stringFromDate:date];NSLog(@"%@ 转换为 %@",date,dateString);// 18. 通过@“Ball”创建一个Car的实例(不可使用 [[Ball alloc] init] 创建)Class class = NSClassFromString(@"Ball");Ball * Car = [[class alloc]init];NSLog(@"%@",Car);// 19. 编写一个猜数字游戏。}return 0;
}

第十六篇:OC中的Foundation框架练习相关推荐

  1. 秒杀多线程第十六篇 多线程十大经典案例之一 双线程读写队列数据

    本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5136035 转载请标明出处,原文地址:http://blog.csdn.net/mo ...

  2. CCIE-LAB-第十六篇-NAT+OSPF下发默认路由+校验配置(模块一结束篇章)

    CCIE-LAB-第十六篇-NAT+OSPF下发默认路由+校验配置(模块一结束篇章) 实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图 问题 翻译: 根据这些要求1为FA ...

  3. java监听数据库操作_第十六篇——JDBC操作数据库之监听器

    JavaWeb应用中,很多的地方都和session有关.因此session相关的事件监听器,在日常工作中非常有用. 有时候我们需要统计当前在线的人数和访问人数总数,此时就可以使用监听器技术来很简单的实 ...

  4. Python之路【第十六篇】:Django【基础篇】

    https://www.cnblogs.com/wupeiqi/articles/5237704.html Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django ...

  5. 生日祝福小程序_广告配音剪映零基础入门教程第二十六篇:如何给朋友制作生日祝福视频...

    经常听到小伙伴问到生日祝福视频怎么做,当然我想既然要为他人做生日祝福视频,那么这个人必定是自己身边比较重要的人,而生日又是每个人都是非常重要的,在这种充满意义的时刻,我们想给自己极其重要的人送上一份祝 ...

  6. 喜迎四十万访问量,自荐十六篇好博文

    喜迎四十万访问量,自荐十六篇好博文 作者:赖勇浩(http://blog.csdn.net/lanphaday) 2008年12月8日本博的访问量一举突破 40 万大关,猛回头,发现已经在 CSDN ...

  7. CCNA-第十六篇-综合实验

    CCNA-第十六篇-综合实验 环境以及拓扑图如下 TAG:个人说明,做到最后我才发现hostname打错了,IDC-1打成ISP-1了,不过也没关系,知道就行了,全部的IDC都打成ISP了 还有一个的 ...

  8. 第十六篇 Computed 计算属性的应用

    本篇内容主要讲计算属性的相关知识,如果从之前的有一直关注这一系列的文章内容的话,就会发现之前的一些案例可以用其他方法方式去做,比如 第八篇.第九篇 所提及到的模糊查询以及 第十四篇 实现购物车页面的一 ...

  9. Xamarin效果第十六篇之GIS添加Mark

    在前面几篇文章中简单玩耍了一下在线和离线加载高德地图图层;今天再次完善一下添加Mark图层和展示详细信息弹窗;来看看最终效果: 添加Mark无非就是用了PictureMarkerSymbol: Pic ...

最新文章

  1. 分布式锁的三种实现方式_基于 redis 的分布式锁实现
  2. Build gradle : Could not find method packagingOptions() for arguments root Project “fasterDev”
  3. linux下如何查询jdk的安装路径
  4. python主要用于系统编程_一文带你了解python是什么?能做什么?为什么(附赠40G项目实战+绝版电子书)...
  5. c#字符串操作方法实例
  6. 【Java并发】Runnable、Callable、Future、FutureTask
  7. 2.技巧: 用 JAXM 发送和接收 SOAP 消息—Java API 使许多手工生成和发送消息方面必需的步骤自动化...
  8. Zynq AXI总线
  9. 5G无线技术基础自学系列 | 5G信道结构
  10. sqlserver2005 sa密码忘记了怎么办
  11. Hutool的发送邮件,简单明了
  12. matlab中的函数简化,matlab的简化函数simple
  13. jquery二级联动下拉菜单
  14. 怎么把录音转文字?这些方法值得收藏
  15. c语言二级指针内存释放,详解C语言-二级指针三种内存模型
  16. python——小例子 及 end=““ 和“t“的用法
  17. Linux文件系统:minix文件系统二进制分析3(硬链接与软链接)
  18. DX11龙书学习笔记---渲染管线
  19. 区块链技术应用于版权保护与其优势所在
  20. PPT:医院智慧物流系统建设方案

热门文章

  1. 曹健老师 TensorFlow2.1 —— 第二章 神经网络优化
  2. 2022-2028全球汽车发电机用集电环行业调研及趋势分析报告
  3. [英语阅读]“机器猫”担任日本“动漫大使”
  4. Python爬虫中级(2):Youdao翻译(一)上传表单
  5. 法大大荣获京交会人力资源“双创10强”
  6. ICV:量子时钟市场研究报告
  7. 大厂里如何看待合作这件事
  8. 电脑是内存容量大的好处 电脑内存影响速度吗
  9. 我在个人站点里添加了樱花飘落特效
  10. java 读取地磅读数,COM口.