Preheat the oven to 350°F. Spray a 9x5x3-inch loaf pan with nonstick spray.
In a large bowl, use an electric mixer to combine the sugar and butter. Beat in the eggs and vanilla.
In a separate bowl, whisk together the flour, baking soda and salt. Add the dry ingredients to the wet ingredients a little at a time, alternating with the buttermilk. Stir in the apples and nuts (if using). Spread the batter evenly in the prepared pan.
MAKE THE STREUSEL TOPPING:
In a medium bowl, stir together the flour, sugars and cinnamon. Then use a pastry cutter to cut in the butter until the mixture resembles crumbs. Sprinkle the streusel on top of the batter in the pan.
Bake for 50 to 55 minutes, or until a toothpick inserted into the center comes out clean.
Note: the optional walnuts are not included in the nutritional information.