valueForKeyPath的使用
valueForKeyPath和valueForKey有一些類似,但也有一些不同的地方。這裡就簡單說一下valueForKeyPath一些不同的地方。
1、valueForKeyPath可以獲取陣列中的最小值、最大值、平均值、求和。程式碼如下:
NSArray *testArray = [NSArray arrayWithObjects:@"2.0", @"2.3", @"3.0", @"4.0", nil];
NSNumber *sum = [testArray valueForKeyPath:@"@sum.floatValue"];
NSNumber *avg = [testArray valueForKeyPath:@"@avg.floatValue"];
NSNumber *max = [testArray valueForKeyPath:@"@max.floatValue"];
NSNumber *min = [testArray valueForKeyPath:@"@min.floatValue"];
在檢索NSArray的時候,通常可以利用迴圈把裡面的物件一個一個比較找出目標。另外也可以通過Key-Value的方法找出物件。
例如有下面這麼一個Array:
(
{
city = “Beijing”;
country = “China”;
},
{
city = “Tokyo”;
country = “Japan”;
},
{
city = “New York”;
country = “U.S.”;
}
)
通常可以通過迴圈來找出物件,如下:
NSDictionary *tmpDic = [NSDictionary dictionary];
for (tmpDic in Array) {
if ([[tmpDic objectForKey:@"city"] isEqualToString:@"Beijing"]) {
// ....code...
break;
}
}
也可以通過key-value的方法來搜尋:
NSArray *allCity = [array valueForKeyPath:@"city"];
allCity的結果是:
(
“Beijing”,
“Tokyo”,
“New York”
)
然後利用如下的程式碼獲取array的index:
NSInteger index = [allCity indexOfObject:@"tokyo"];
然後用取得的index獲取物件就可以:
NSString *city = [allCity objectAtIndex:index];
相關文章
- Scrapy框架的使用之Scrapyrt的使用框架
- ActiveMQ的使用及整合spring的使用例項MQSpring
- Docker框架的使用系列教程(四)容器的使用Docker框架
- Urllib庫的使用一---基本使用
- ECharts的使用Echarts
- DbVisualizer的使用
- Typeof的使用
- iview 的使用View
- Trait 的使用AI
- lombok的使用Lombok
- MybatisGenerator的使用MyBatis
- ThreadLocal的使用thread
- elasticsearch的使用Elasticsearch
- CoreData的使用
- joomla的使用OOM
- sqlmap的使用SQL
- echars的使用
- SVG 的使用SVG
- FlowableAPI的使用API
- pycnblog的使用
- netcat的使用
- jextract的使用
- pinia的使用
- pip 的使用
- DBV 的使用
- Docker的使用Docker
- Promise的使用Promise
- SVN的使用
- EndNote的使用
- git的使用+Git
- git 的使用Git
- Bootstarp的使用boot
- GRPC的使用RPC
- Maven的使用Maven
- Scanner的使用
- @ModelAttribute 的使用
- mysql的使用MySql
- socket 的使用