Ich entwickle App für iPhone & iPod und während der Entwicklung App ich Simulator 3.2 (iPad) verwendet es läuft perfekt, aber wenn ich meine App auf Simulator 3.1.3 will es einen Fehler erzeugen Ich entferne diesen Fehler von Kommentar diese Zeile//self.clearsSelectionOnViewWillAppear = NEIN; und Build-Projekt erfolgreich, aber App auf Simulator 3.1.3 ausführen, wenn ich auf Schaltfläche klicke, geht es auf einem anderen Bildschirm auf 3.2 Simulator perfekt & Absturz auf 3.1.3 was ich tun, um daraus zu kommen.iphone Simulator Absturz?
Antwort
Die Dokumentation für UITableViewController klar sagen, dass clearsSelectionOnViewWillAppear
auf iOS 3.2 verfügbar ist und darüber. Es stürzt in 3.1.3 ab, weil diese Eigenschaft in 3.1.3 nicht existiert (Sie können dies leicht aus dem Lesen der Dokumentation für die Eigenschaft erahnen, die Sie bereits entdeckt haben, verursacht das Problem, oder von der Fehlermeldung, die darauf hinweist Das Objekt reagiert nicht auf einen Selektor für setClearsSelectionOnViewWillAppear
Bevor Sie dies einstellen, können Sie nach dieser Eigenschaft suchen und sie dann einstellen, ansonsten kann Ihr älterer Code einfach so unterstützt werden, wie Sie sind, oder Sie könnten etwas Fortgeschritteneres machen und hinzufügen . Eigentum in pre-3.2-Umgebungen
für den Code zu überprüfen, Sie so etwas tun:
if([UITableViewController instancesRespondToSelector:@selector(setClearsSelectionOnViewWillAppear:)]) {
// This is 3.2+ so we can use this property
[self setClearsSelectionOnViewWillAppear:NO];
} else {
// This is something earlier than 3.2, so we ignore it
NSLog(@"will clear selection: pre-3.2");
}
wo ich diesen Code einfügen und wenn ich es in ViewDidload Methode, dann sagt es Warning Klasse kann nicht reagieren setClearsSelectorOnViewWillAppear method.plz erklären im Detail, ich bin newbe damit. –
@suchita: Ich habe die Methode falsch geschrieben, weshalb du die Warnung bekommen hast. Bitte überprüfe den Code und schneide ihn nicht einfach aus.Ich werde die Antwort bearbeiten, aber es liegt an Ihnen, die Qualität des Codes, den Sie online finden, zu gewährleisten. –
Können Sie Ihre Frage klarer erklären?
Mein lieber Freund,
Sie sollen die Apple-Dokumentation aufmerksame,
Es wird deutlich gemacht, dass
clearsSelectionOnViewWillAppear
ist eine Methode, die von iPhone OS 3.2 und später lesen, Sie versuchen, es in 3.1.3 zu verwenden.
So ist das Ergebnis offensichtlich.
clearSelectionOnViewWillAppear Ein boolescher Wert, der angibt, ob der Controller die Auswahl löscht, wenn die Tabelle angezeigt wird.
@property (nonatomic) BOOL clearsSelectionOnViewWillAppear
Discussion Der Standardwert dieser Eigenschaft ist JA. Bei JA löscht der Tabellenansicht-Controller die aktuelle Auswahl der Tabelle, wenn er eine viewWillAppear: -Nachricht empfängt. Wenn Sie diese Eigenschaft auf NO setzen, bleibt die Auswahl erhalten.
Verfügbarkeit Verfügbar in iPhone OS 3.2 und höher. erklärt In UITableViewController.h
Dank
Bitte überprüfen Sie die Methodendokumentation, bevor Sie sie verwenden, wenn sie in Ihrem Arbeits-SDK verfügbar sind. Es ist klar geschrieben, dass ClearSelectionOnViewWillAppear über 3.2 verfügbar ist. Es wird Ihre meisten Probleme sortieren :) –