2015-07-17 1 views
5

Questo è così strano. Normalmente potrei capire che una classe non viene dichiarata, ma questo sta affermando che la classe Object non è dichiarata. NSObject funziona, ma il modo in cui è configurato il mio progetto mi serve per essere un puro oggetto Swift. La mia intestazione di classe si presenta così:Uso del tipo non dichiarato 'Object'

import UIKit 
import Foundation 
class Person: Object { 

So fondazione non è davvero necessario, ho solo aggiunto perché non ero sicuro se questo mi stava causando problemi. Il problema si è verificato in entrambi i progetti attuali e campi da gioco, nonché in Xcode 6 e le ultime Xcode 7 beta con Swift 2.0

risposta

8

Basta rimuovere : Object. classi Swift puri non hanno bisogno di ereditare da una superclasse

+0

Grazie! Non sono autorizzato ad accettarlo per altri 9 minuti, ma lo farò quando arriverà. Mi chiedo perché non ti sia permesso esplicitamente di farlo. anche se. – Alex

+1

Non puoi farlo perché non esiste una classe 'Object' da cui ereditare. Come hai notato, esiste una classe 'NSObject'. Ma non esiste un tipo Swift chiamato 'Object'. –

4

puro oggetto Swift non eredita da una superclasse:

class Person {}

È può leggere Classes and Structures

0

se si utilizza Realm quindi importare

import RealmSwift 

sintassi completa del codice categoria.

import UIKit 
import RealmSwift 

class User: Object { 

}