黑马程序员技术交流社区

标题: 问一个关于获取对象的问题 [打印本页]

作者: hjy0260    时间: 2016-10-2 16:42
标题: 问一个关于获取对象的问题
假设有两个对象A和B,他们都有一个实例变量int price。现在两个对象的price在1-100之间获取随机整数来比较大小,如何获得那个较小的price的对象,用什么方法来获得。在线等,望各路大牛指点下思路。

作者: hjy0260    时间: 2016-10-2 17:15
貌似有点头绪了,是用NSComparisonResult这个东东吗?
作者: 朱儿008    时间: 2016-10-2 21:00
NSComparisonResult   这个不是比较两个字符串大小的吗?
作者: hjy0260    时间: 2016-10-2 21:49
是的,刚刚去百度了下,头疼,没有思路啊,你知道该怎么获取么?
作者: hjy0260    时间: 2016-10-3 19:15
解决了,贴一段代码出来,给有需要的同学提供下思路
        //A、B、C三个公司的运费从1-100之间随机生成整数
        A.price = arc4random() % 100;
        NSLog(@"A公司的托运费用是:%d",A.price);
        B.price = arc4random() % 100;
        NSLog(@"B公司的托运费用是:%d",B.price);
        C.price = arc4random() % 100;
        NSLog(@"C公司的托运费用是:%d",C.price);
        //创建一个dic字典,并将三个公司的价钱(key)和公司(value)添加进去
        NSDictionary *dic = @{@(A.price):A,@(B.price):B,@(C.price):C};
        //创建一个arr数组,把三个公司的价格添加进去
        NSArray *arr = [NSArray arrayWithObjects:@(A.price),@(B.price),@(C.price),nil];
        //比较三个公司的价格,输出最小值
        NSNumber *min1=[arr valueForKeyPath:@"@min.intValue"];
        
        NSLog(@"最少的费用是%@",min1);
        //获取价格最低的那个公司对象,并让其作为Kelly的代理
        Kelly.delegate = [dic objectForKey:min1];

作者: 邱中林    时间: 2016-10-8 20:43
看着都有点懵
作者: hjy0260    时间: 2016-10-9 09:36
邱中林 发表于 2016-10-8 20:43
看着都有点懵

不会吧,挺清晰的啊。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2