ho le seguenti classi contenute da Geography.framework (un progetto quadro Swift):classi del framework annidato Swift non vengono esportati bene in Objective C
public class Contact : NSObject
{
public static let Table: String = "contacts"
public class Fields : NSObject
{
public static let Id: String = "_id"
public static let Name: String = "name"
static let rawId: String = "rawId"
}
}
public class Country : NSObject
{
public class Fields : NSObject
{
public static let Id: String = "_id"
public static let Prefix: String = "prefix"
static let rawId: String = "rawId"
}
}
Nella mia rapida applicazione utilizzando questo tutto framework funziona senza intoppi:
import geography
func setFields()
{
var contactName:String = Contact.Fields.Name
var countryPrefix:String = Country.Fields.Prefix
var contactsTable: String = Country.Table
}
Bene, se uso lo stesso Geography.framework in ObjectiveC, vedo Contact e Country class ma le classi nidificate I campi non sono visibili. Anche il valore di Contact.Table non è visto.
Cosa devo fare per avere la stessa struttura della libreria e l'utilizzo della libreria in ObjectiveC?
Grazie,
Credo che si può non dal Objective-C non supporta le classi nidificate. Probabilmente avrai bisogno di scrivere un wrapper in swift che esponga queste cose in un'interfaccia C-friendly. –
Grazie. Hai qualche esempio su come farlo? – Colateral