Ich brauche MultipeerConnectivity
zu senden Bilder und einige Reihe von Arrays von Zeichenfolgen zu einem anderen Gerät. Auf der Empfängerseite ist die API func session(session: MCSession, didReceiveData data: NSData, fromPeer peerID: MCPeerID)
, sie empfängt nur NSData
Daten. Aber ich brauche etwas zu senden:Wie kombinieren Sie diese verschiedenen Werttypen zu NSData?
struct data{
var imageData:NSData?
var location:[String:String]?
var information:[String]?
var sliderInfo:[String]?
var questionsAndAnswer:[String:String]?
var secrets: String?
var tempts: Int?
}
Es gibt viele verschiedene Werttypen in der Datenstruktur, aber wie konvertiere ich diese benutzerdefinierte Datenstruktur NSData
und dann entschlüsseln, dass auf der Empfängerseite? Ich benutze Swift für dieses Projekt.
Meinen Sie, machen Sie die Struktur wie folgt: struct Daten: NSCoding {/ * etwas * /}? –
Sie können kein Struct mit NSCoding konform machen. Es muss eine NSObject-Unterklasse sein. –
"Meinen Sie, machen Sie die Struktur so" Nein, das habe ich nicht gesagt. Ich habe die NSObject-Unterklasse angegeben. Das ist eine Klasse, keine Struktur. Sie müssen die Hilfe von Cocoa hier anwerben; Das kann man nicht mit einer Swift-Struktur machen. – matt