2015-09-30 8 views
1

мое приложение терпит крах и возвращает мне эту ошибку на консоли. Моя сборка прекрасно работает, но когда я пытаюсь запустить модульные тесты, я получаю это.'NSError' не поддерживается как свойство RLMObject. Все свойства должны быть примитивами

«NSError» не поддерживается как свойство RLMObject. Все объекты должны быть примитивы, NSString, NSDate, NSData, RLMArray, или подклассы RLMObject

это то, что моя модель выглядит ...

public class Place: Object { 

// mongo id 
public dynamic var _id: String = "" 
// google id 
public dynamic var google_id: String = "" 
// name 
public dynamic var name: String = "" 
// score 
public dynamic var score: Double = 0 
// types 
public let types = List<TypeObject>() 
public dynamic var typeFormat: String = "" 
// address 
public dynamic var address: Address? 
// geographic location 
public dynamic var location: GeoJSON? 
// phone 
public dynamic var phone: Phone? 
// open now 
public dynamic var openNow: Bool = false 
// hours 
public let hours = List<Hours>() 
// utc offset 
public dynamic var utcOffset: Int = 0 
// website 
public dynamic var website: String = "" 
// price level 
public dynamic var priceLevel: Int = 0 
// created at, updated at 
public dynamic var createdAt: String = "" 
public dynamic var updatedAt: String = "" 
// visit 
public let history = List<Visit>() 
public dynamic var visitValue: VisitValue? 
public dynamic var voteValue: VoteValue? 
// reviews 
public let reviews = List<Review>() 
// photos 
public let photos = List<Photo>() 

... 

класс модели огромен, так что я опущено инициализаторы. Следует отметить, что этот класс не содержит типов NSError, но содержит функции, геттеры и сеттеры, все из которых не вызывают каких-либо ошибок. Я не знаю, влияет ли это на модель вообще, но они все работали над этим. Все эти ошибки начались, когда я обновляюсь до Swift 2 и XCode 7. Я действительно в тупике, любая помощь будет отличной.

UPDATE моя проблема в том, что я добавил var error: NSError? случайно между двумя функциями в моей модели, когда я был оптимизации кода. Я не мог найти его, потому что моя модель заполнена вспомогательными функциями, а что нет. Поэтому я надеюсь, что это поможет любому, кто сталкивается с этой проблемой, просто оставить модели в одиночку и поставить любой код, который не является схемой, связанной с самой моделью.

ответ

1

Можете ли вы добавить "Исключение точки останова"? Если это так, вы можете выяснить, какое свойство в модели вызывают проблемы, основанные прочь name переменные, передаваемой в этот метод в RLMProperty.mm:

initSwiftPropertyWithName:indexed:property:instance: 

, который, в конечном счете, призывающая setTypeFromRawType который где генерируются ошибка.

Мое предположение - это одно из свойств объектных отношений, поскольку ошибка возникает, когда она оценивает вашу модель и проверяет, указывает ли свойство на подкласс Realm Object.

+0

Я добавил NSLog в эту функцию, которую вы сказали (спасибо за это), и это то, что я получил ... '2015-09-30 20: 54: 51.885 Fomo [98378: 331319] error 2015-09- 30 20: 54: 51.885 Fomo [98378: 331319] (null) {'Таким образом, это означает, что в моей схеме объекта есть переменная типа NSError? –

+0

wow благодарит за этот комментарий, это действительно помогло. Мне пришлось пройти через все мои схемы и искать переменную с именем «error», я обнаружил, что она вклинивается между двумя функциями. Я случайно написал его там, думая, что он все еще находится в пределах функции. Эта ошибка охватила меня целый день - я, кажется, просто самый большой манекен. –

+0

Извините, не дошли до этого раньше, но рад, что вы это поняли! –