文档章节

【非凡程序员】 OC第九节课 (KVC的运算买粽子的例子 sum,avg,min)

七月流火zsp
 七月流火zsp
发布于 2015/05/26 22:09
字数 355
阅读 65
收藏 5

买粽子的例子,主要输练习KVC的应用,(注意:必须建立一个数组,才能使用KVC的运算)详细代码如下:

1.main函数代码:

#import <Foundation/Foundation.h>
#import "Person.h"
#import "zongZi.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
        
        float money = 5.5;
        NSString * smoney = [NSString stringWithFormat:@"%.2f",money];
        
        Person * suiping = [[Person alloc]init];
        [suiping setValue:@"suiping" forKey:@"name"];
        [suiping setValue:smoney forKey:@"money"];
        
        zongZi * zongzi1 = [[zongZi alloc]init];
        [zongzi1 setValue:@"大肉粽" forKey:@"name"];
        [zongzi1 setValue:@"1.2" forKey:@"price"];
        
        zongZi * zongzi2 = [[zongZi alloc]init];
        [zongzi2 setValue:@"蜜枣粽" forKey:@"name"];
        [zongzi2 setValue:@"0.7" forKey:@"price"];
        
        zongZi * zongzi3 = [[zongZi alloc]init];
        [zongzi3 setValue:@"豆沙粽" forKey:@"name"];
        [zongzi3 setValue:@"0.8" forKey:@"price"];
        
        //新建一个购物车
        NSArray * gouwuche = [NSArray arrayWithObjects:zongzi3,zongzi2,zongzi1,zongzi1, nil];
         //把购物车传进到数组moneyCollent中,(注意:必须建立一个数组,才能使用KVC的运算)

        [suiping setValue:gouwuche forKey:@"moneyCollent"];
        
        float usedmoney = [[suiping valueForKeyPath:@"];
        float shengXia = money - usedmoney;
        
        //进行KVC运算,方便快捷
        NSLog(@"我刚开始有%@元", [suiping valueForKey:@"money"]);
        NSLog(@"总共买了%@个", [suiping valueForKeyPath:@""]);
        NSLog(@"总共花了%@元", [suiping valueForKeyPath:@""]);
        NSLog(@"剩下%.2f元", shengXia);
        NSLog(@"平均花了%@元", [suiping valueForKeyPath:@""]);
        NSLog(@"最便宜%@元", [suiping valueForKeyPath:@""]);
        NSLog(@"最贵的%@元", [suiping valueForKeyPath:@""]);
    }
    return 0;
}

2.Person.h代码:

#import <Foundation/Foundation.h>
#import "zongZi.h"
@interface Person : NSObject


@property (nonatomic,assign) NSString *name;
@property (nonatomic,assign) float money;
@property (nonatomic,assign) NSArray *moneyCollent;//(注意:必须建立一个数组,才能使用KVC的运算)

@end

© 著作权归作者所有

七月流火zsp
粉丝 8
博文 29
码字总数 11273
作品 0
西安
私信 提问
Objective-C中KVC的集合操作符

键值编码(KVC)集合操作(Collection Operators)提供了一种非常简洁的运算方法,可以有效避免使用循环,如for,while或快速枚举。 这些方法包括三种类型,简单集合运算符、对象操作符、数组...

goodlook
2016/03/17
158
0
KVC  valueForKey:key 的调用顺序

1、 KVC valueForKey:key 的调用顺序 先调用相关方法 调用方法的先后顺序为: getter方法:getKey(注意Key首字母大写)->key->isKey NSArray方法:countOfKey 和 objectInKeyAtIndex 如果没有...

孤芳自赏OS
2018/01/31
14
0
【非凡程序员】 OC第九节课 (KVC的基本使用语法)

今天主要学习了 1.关键字@synthesize 我们使用@property定义属性之后,有时候我们不想定义属性为_开头的参数名, 如果我们想修改这个属性的名称,就可以使用@synthesize关键字来对属性名称进...

七月流火zsp
2015/05/25
83
0
Pivot Table 实现详解(一)

Pivot Table 是数据透视表的意思,如下一个普通的数据集: 当按日期作为x轴,客户ID作为y轴,利润作为数据(SUM),转换为数据透视表后呈现为: 其中的利润数据将被合计,而无数据的位置被“...

老朱教授
2017/11/26
0
0
iOS--KVC

一直在使用一些方法比如在给模型赋值时使用的setValuesForKeysWithDictionary:jsonObject、改变一些属性时valueForKeyPath等。但面试的时候,面试官一句给我说一个应用场景。我靠,当时我想吃...

gitzhengjianhua
2016/07/22
33
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部