Ayuda con CoreData Query

Estoy buscando formas de escribir algunas consultas básicas en CoreData y no hay ejemplos en la documentación. La siguiente es mi consulta:

Tengo un objeto Gastos y tiene un campo gastoAmount.El gasto se puede vincular a un objeto ExpenseCategory.ExpenseCategory puede simplemente definir la categoría del gasto (por ejemplo, Alimentos) o puede tener una tarifa unitaria (por ejemplo, Millaje). Si es solo el nombre, el valor del gasto es el gastoAmount en el objeto de Gastos, de lo contrario es el gastoAmount * unitRate en la Categoría de Gastos.Dado que el enlace de Gastos a Categoría es opcional, el gasto final se basará en la presencia / ausencia de Categoría y la tasa unitaria.

Entonces, una consulta SQL para calcular los gastos totales sería:

select
    TOTAL(e.amount * IFNULL(c.rate, 1))
from EXPENSE e
LEFT OUTER join CATEGORY c on
    e.category = c.id

¿Cómo se puede hacer esto en CoreData?

Respuestas a la pregunta(1)

Su respuesta a la pregunta