Yes, you can do this with a variable:
NSPredicate *userPredicate = [NSPredicate predicateWithFormat:@"id == $user"];
Save this predicate somewhere, then do it when you need to actually start filtering the material:
NSDictionary *sub = [NSDictionary dictionaryWithObject:user forKey:@"user"];
NSPredicate *filter = [userPredicate predicateWithSubstitutionVariables:sub];
, ( ) .