コードに構文上の問題はありませんが、loadNibNamedが何をするのか誤解しているのではないかと思います。新しいnibファイルをロードして画面を変更しようとしている場合は、UINavigationControllerを調べてください。
コードは次のようになります。
UIViewController *viewController = [[UIViewController alloc] initWithNibName:@"ViewControllerName" bundle:nil];
[self.navigationController pushViewController:viewController animated:YES];
上記のようにloadNibNamedを実際に使用するつもりだった場合は、それを便利にするために何かに割り当てる必要があります。たとえば、nibにUIViewControllerのインスタンスが含まれている場合は、次のようにします。
UIViewController *viewController = [[NSBundle mainBundle] loadNibNamed:@"rewardViewController" owner:self options:nil];
これにより、nibファイルのコンテンツを含むUIViewControllerの新しいインスタンスが作成されます。その後、そのUIViewControllerを使用してやりたいことが何でもできます。