Из документации NSPropertyListSerializationClass:
Объект списка свойств. Плист должен быть
своего рода NSData, NSString, NSNumber,
NSDate, NSArray или NSDictionary
объект. Контейнерные объекты также должны
содержат только эти виды объектов.
Так что вам нужно иметь один из них. В зависимости от типа данных, вы можете поместить заполнитель вместо NSNull, а затем выполнить процесс до / после загрузки .plist (как, например, использование объекта NSData нулевой длины для представления NSNull в plist). Какой именно заполнитель будет зависеть от того, какие данные вы храните, и от выбора чего-то, чего следует избегать. Затем после загрузки переведите пустые NSData обратно в NSNull.