Ich möchte UIColor
mit Xcode 6 eine Kategorie in meiner App erstellen. In Xcode 6 gibt es jedoch keine Objective-C-Kategoriedateivorlage.
Gibt es eine Option zum Erstellen einer Kategorie in Xcode 6?
ios
objective-c
categories
xcode6
Yalamandarao
quelle
quelle
@interface UIColor(MyCategory) ...
Antworten:
Sie haben nicht vergessen. Sie haben es einfach bewegt, ohne es jemandem zu sagen.
Klicken Sie auf
File
->New
->File
Wählen Sie
Objective-C file
unterSources
iniOS
bzw.Mac OS
aus und klicken Sie auf WeiterJetzt unter
File Type:
wählen entwederCategory
,Protocol
oderExtension
PS. Unter
File Name:
was auch immer Sie hier wird geben Sie entweder dasCategory
,Protocol
oderExtension
Namen.quelle
Objective-C File
von XCode 6 angegebene Beschreibung lautet "Eine leere Objective-C-Datei" und nicht meine Beschreibung "eine der alten, überhaupt nicht leeren Objective-C-Dateien, an die Sie gewöhnt sind". , was mich ziemlich nett abwarf!So erstellen Sie CategoryBaseClass + CategoryName.m / .h :
quelle
Hier ist eine visuelle Demonstration:
quelle
Xcode6-Beta5-Update
Die Benutzeroberfläche wurde geändert und es ist möglich, eine Kategorie direkt über das Fenster Neu> Datei hinzuzufügen.
Siehe die Antwort von unmircea .
Ich war selbst überrascht und ich denke, wegen Swift haben sie das gute alte Objective-C vergessen .
Sie haben zwei Möglichkeiten:
Erstellen Sie beispielsweise eine Objective-C-Klasse mit dem Kategorienamen und
UIView+Powerups
ändern Sie die Schnittstelle manuell so, dass sie mit der der Kategorie übereinstimmt. Beachten Sie, dass das Snippet für die Kategorieschnittstelle und die Implementierung noch funktioniert. Das ist also besonders einfach: Geben Sie@interface-category
und ein@implementation-category
.Importieren Sie es aus Xcode 5! Verwenden Sie diesen Befehl:
Schließen Sie Xcode 6 und öffnen Sie es erneut. Im Assistenten für die neue Datei finden Sie "Objective-C Category".
quelle
Es gibt keine vordefinierte Vorlage zum Erstellen einer Kategorie in Xcode 6 Beta (vorerst). Diese Option wird möglicherweise später hinzugefügt. Als Workaround können Sie einen
Cocoa Touch Class
NamenUIImage+Additions
(ClassName + CategoryName) erstellen (es ist nicht richtig, ich weiß, aber auf keine andere Weise ) und seine Schnittstelle und Implementierung überschreibenUIImage + Additions.h
UIImage + Additions.m
Bearbeiten
Diese Antwort wurde geschrieben, bevor eine Möglichkeit zum Erstellen einer Kategorie in der Xcode 6-Beta gefunden wurde. Überprüfen Sie die Antwort von unmircea auf die richtige Art und Weise, eine Kategorie zu erstellen
quelle
Wenn Sie die fantastische Antwort von unmircea erweitern : Wie Sie eine benutzerdefinierte Kategorie erstellen, um eine benutzerdefinierte
UIColor
Palette zu implementieren , können Sie eine Kategorie erstellen.Sobald Sie Ihre Kategorie erstellt haben (in diesem Beispiel ist es eine Kategorie namens
ColorPalette
der KlasseUIColor
), erhalten Sie einen Header und eine Implementierungsdatei.UIColor + ColorPalette.h
UIColor + ColorPalette.m
Um Ihre benutzerdefinierte Farbpalette zu verwenden, importieren Sie einfach die Kopfzeile in die Klasse, in der Sie Ihre benutzerdefinierten Farben implementieren möchten:
und rufen Sie die Farbe auf wie ein Standardfarbe wie
redColor
,greenColor
oderblueColor
.Hier ist ein Link zu einer etwas ausführlicheren Diskussion über das Erstellen einer benutzerdefinierten Palette.
Darüber hinaus finden Sie hier ein Tool, mit dem Sie die benutzerdefinierten Farbwerte auswählen können
quelle
Sie können einfach die gewünschten Vorlagen aus einer älteren Version von Xcode kopieren. Dazu habe ich ein Shell-Skript erstellt: https://github.com/cDigger/AddMissingTemplates
quelle
Sie können eine "Erweiterungs" -Datei wie NSString + Helper erstellen:
Erledigt. Viel Spaß beim Codieren
quelle