it-swarm.com.de

Wie erstelle ich eine Kategorie in Xcode 6 oder höher?

Ich möchte mit Xcode 6 eine Kategorie für UIColor in meiner App erstellen. Allerdings gibt es in Xcode 6 keine Objective-C-Kategoriedateivorlage.

Gibt es eine Option zum Erstellen einer Kategorie in Xcode 6?

315
Yalamandarao

Sie haben es nicht vergessen. Sie haben es einfach bewegt, ohne es jemandem zu sagen.

  1. Klicken Sie auf File -> New -> File

  2. Wählen Objective-C file unter Sources in iOS oder Mac OS und klicken Sie auf Weiter

  3. Jetzt unter File Type: Wählen Sie entweder Category, Protocol oder Extension

PS. Unter File Name: was auch immer Sie hier eingeben, wird entweder der Category, Protocol oder Extension Name sein.

741
unom

So erstellen Sie CategoryBaseClass + CategoryName.m/.h:

  1. Datei → Neu → Datei ... oder verwenden Sie ⌘N.
  2. Wählen Sie Objective-C-Datei.

enter image description here

  1. Geben Sie den Kategorienamen ein, wählen Sie Dateityp: Kategorie und wählen Sie dann die Basisklasse aus.

enter image description here

  1. Vervollständigen Sie den Ablauf, um die Kategorie zu erstellen.
77
Zorayr

Hier ist eine visuelle Demonstration:

creating a category file

34
rob mayoff

Xcode6-Beta5-Update

Die Benutzeroberfläche hat sich nun geändert und es ist möglich, eine Kategorie direkt über das Fenster Neu> Datei hinzuzufügen.

Siehe Antwort von unmircea .


Ich war selbst überrascht, und ich schätze, weil Swift sie vergessen über das gute alte Objective-C.

Sie haben zwei Möglichkeiten:

  1. Erstellen Sie eine Objective-C-Klasse mit dem Kategorienamen, z. B. UIView+Powerups, Und ändern Sie dann die Schnittstelle manuell so, dass sie der Kategorie entspricht. Beachten Sie, dass das Snippet für die Kategorieschnittstelle und -implementierung noch funktioniert. Dies ist also besonders einfach: Geben Sie @interface-category Und @implementation-category Ein.

  2. Importiere es von Xcode 5! Verwenden Sie diesen Befehl:

    cp -r /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File\ Templates/Cocoa\ Touch/Objective-C\ category.xctemplate /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File\ Templates/Source/
    

    Schließen Sie Xcode 6 und öffnen Sie es erneut. Im Assistenten für die neue Datei finden Sie "Objective-C Category".

19
mokagio

Es gibt keine vordefinierte Vorlage zum Erstellen einer Kategorie in Xcode 6 Beta (derzeit). Diese Option wird möglicherweise später hinzugefügt. Als Workaround kannst du ein Cocoa Touch Class (es ist nicht das richtige, das ich kenne, aber keine andere Möglichkeit) mit dem Namen UIImage+Additions (ClassName + CategoryName) und überschreiben seine Schnittstelle und Implementierung so etwas wie

UIImage + Additions.h

#import <UIKit/UIKit.h>

@interface UIImage(Additions)

+(void)testMethod;

@end 

UIImage + Additions.m

#import "UIImage+Additions.h"

@implementation UIImage (Additions)

+(void)testMethod
{

}

@end

Bearbeiten
Diese Antwort wurde verfasst, 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

12
Anil Varghese

Erweitern die fantastische Antwort von unmircea Re: wie man eine benutzerdefinierte Kategorie erstellt, um eine benutzerdefinierte UIColor Palette zu implementieren, kann man eine Kategorie erstellen.

Sobald Sie Ihre Kategorie erstellt haben (in diesem Beispiel eine Kategorie mit dem Namen ColorPalette von Klasse UIColor), haben Sie einen Header und eine Implementierungsdatei.

UIColor + ColorPalette.h

#import <UIKit/UIKit.h>

@interface UIColor (ColorPalette)

// Your custom colors

+ (UIColor *) customRedButtonColor;
+ (UIColor *) customGreenButtonColor;

@end

UIColor + ColorPalette.m

#import "UIColor+ColorPalette.h"

@implementation UIColor (ColorPalette)

// Button Colors

+ (UIColor *) customRedButtonColor {
    return [UIColor colorWithRed:178.0/255.0 green:25.0/255.0 blue:0.0/255.0 alpha:1.0];
}

+ (UIColor *) customGreenButtonColor {
    return [UIColor colorWithRed:20.0/255.0 green:158.0/255.0 blue:96.0/255.0 alpha:1.0];
}

Um Ihre benutzerdefinierte Farbpalette zu verwenden, importieren Sie einfach die Kopfzeile in die Klasse, in der Sie Ihre benutzerdefinierten Farben implementieren möchten:

#import "UIColor+ColorPalette.h"

und nennen Sie die Farbe wie eine Standardfarbe wie redColor, greenColor oder blueColor.

Hier ist ein Link zu einer etwas ausführlicheren Diskussion zum Erstellen einer benutzerdefinierten Palette.

Außerdem finden Sie hier ein Tool, mit dem Sie die benutzerdefinierten Farbwerte auswählen können

6
Adrian

Sie können einfach die gewünschten Vorlagen aus einer älteren Version von Xcode kopieren. Ich habe dafür ein Shell-Skript erstellt: https://github.com/cDigger/AddMissingTemplates

3
NSFish

Sie können eine "Erweiterungs" -Datei wie NSString + Helper erstellen:

1: File → New → File... or use ⌘N.

2: Name NSString+Helper (For example)

3: create the file

4: Remove the code from file

5: add 

extension NSString {


}

Getan. Viel Spaß beim Codieren

1
Rohit Sisodia