我想用Xcode 6在我的应用程序中创建一个UIColor类别。但问题是,在Xcode 6中没有Objective-C分类文件模板。

在Xcode 6中有创建类别的选项吗?


当前回答

他们没有忘记。他们没告诉任何人就把它搬走了。

单击“文件->新建->文件” 在iOS或Mac OS下分别选择“Sources”下的“Objective-C”文件,单击“Next” 现在在文件类型下:选择类别,协议或扩展

PS.在文件名称下:无论你在这里输入什么,都将是类别,协议或扩展名。

其他回答

你可以从旧版本的Xcode中复制你想要的模板,我为此做了一个shell脚本:https://github.com/cDigger/AddMissingTemplates

下面是一个视觉演示:

扩展unmircea的精彩回答re:如何创建一个自定义类别来实现自定义UIColor调色板,您可以创建一个类别。

一旦您创建了您的类别(在本例中,它是一个名为类UIColor的ColorPalette的类别),您将有一个头文件和一个实现文件。

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];
}

要使用自定义调色板,只需将头文件导入到你想实现自定义颜色的类中:

#import "UIColor+ColorPalette.h"

并将该颜色称为标准颜色,如redColor, greenColor或blueColor。

这里有一个链接,指向创建自定义调色板的稍微深入的讨论。

此外,这里有一个工具可以帮助您选择自定义颜色值

Xcode6-Beta5更新

界面现在已经改变,可以直接从新建>文件窗口添加一个类别。

请看unmircea的回答。


我自己也很惊讶,我猜是因为Swift,他们忘记了好的老Objective-C。

你有两个选择:

Create an Objective-C class with the category name, example UIView+Powerups, then manually change the interface to match the one of category. Note that the snippet for the category interface and implementation is still working, so that's extra easy: type @interface-category and @implementation-category. Import it from Xcode 5! Use this command: 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/ Close and reopen Xcode 6 and you'll find "Objective-C Category" in the wizard for the new file.

在Xcode 6 beta(暂时)中没有预定义的模板来创建分类,他们可能会在以后添加这个选项。作为一个工作周围,你可以创建一个可可触摸类(它不是适当的我知道,但没有其他方式)命名为UIImage+添加(ClassName+CategoryName)和覆盖它的接口和实现一些东西

用户界面图像+ Additions.h

#import <UIKit/UIKit.h>

@interface UIImage(Additions)

+(void)testMethod;

@end 

用户界面图像+ Additions.m

#import "UIImage+Additions.h"

@implementation UIImage (Additions)

+(void)testMethod
{

}

@end

编辑 这个答案是在Xcode 6 beta中找到创建类别的方法之前写的。查看unmircea的答案,了解创建类别的正确方法