• 通过KVC修改属性会触发KVO么?

会触发KVO
通过KVC修改属性内部会调用willChangeValueForKey和didChangeValueForKey,所以会触发KVO。

  • KVC的赋值和取值过程是怎样的?原理是什么?

setValue:forKey: 原理
KVC - 图1

valueForKey:原理
KVC - 图2

  • KVC的keyPath中的集合运算符如何使用?

必须用在集合对象上或普通对象的集合属性上
简单集合运算符有@avg, @count , @max , @min ,@sum,
格式 @”@sum.age”或 @”集合属性.@max.age”