NSUserDefaults не будет принимать пользовательские классы.Так как же эти объекты можно хранить и извлекать?
Вы должны заставить свой класс реализовывать протокол NSCoding, прежде чем он сможет быть сериализован в пользовательских значениях по умолчанию.
См .: Руководство по программированию архивов и сериализаций