アプリケーションを最初に起動したときは、ユーザーが設定した値(ユーザーデフォルト)というものは当然ながらありません。そのときに読み出される値が不定値では困りますから、デフォルトの値(アプリケーションデフォルト)を設定する必要があります。この事は"User Defaults"というドキュメントの"Using Defaults - Set a default in the NSRegistrationDomain"に書いてあります。 To register the application’s default behavior, you get the application's shared instance of NSUserDefaults and register default values with it. A good place to do this is in the init