Xcode 6 이상에서 카테고리를 작성하는 방법


318

UIColorXcode 6을 사용하여 앱에서 범주를 만들고 싶지만 Xcode 6에는 Objective-C 범주 파일 템플릿이 없습니다.

Xcode 6에서 카테고리를 작성하는 옵션이 있습니까?


Xcode 6 이전에 어떻게 했습니까?
holex

소스 파일에 입력하십시오 : @interface UIColor(MyCategory) ... etc
JeremyP

8
답을 선택하지 않겠습니까? 그렇지 않으면 솔루션을 찾는 다른 사용자에게 시간이 낭비됩니다.
Tommie C.

Swift를 사용하는 경우 카테고리가 아닌 확장을 작성합니다. 방법은 이 답변 을 참조하십시오 .
Suragch

답변:


745

그들은 잊지 않았다. 그들은 아무에게도 말하지 않고 옮겼습니다.

  1. 클릭 File-> New->File

  2. 또는 각각 Objective-C file아래 Sources에서 선택 하고 다음을 클릭하십시오.iOSMac OS

  3. 이제 아래 File Type:중 하나를 선택 Category, Protocol또는Extension

추신. File Name:여기에 입력 한 내용 아래 CategoryProtocol, 또는 Extension이름이 있습니다.


13
너무 혼란 스럽습니다.
벤 싱클레어

6
그들은 단지 Swift를 추가하고 Objective-C에서 모든 것을 숨겼습니다. 나는 개인적으로 Swift가 추가 된 이유를 알지 못합니다. Objective-C는 일단 당신이 그것을 알게되면 아름답고 표현력있는 언어입니다 ... 그것은 C의 위에있는 객체입니다 ... Perrrfect
unom

8
Heh, Objective-C FileXCode 6 에 의해 주어진 설명 은 "빈 Objective-C 파일"입니다. "내가 사용했던 빈 Objective-C 파일이 아닌 오래된 파일 중 하나"라는 설명이 아닙니다. , 그것은 상당히 멋지게 나를 던져 버렸다!
Benjohn

@unmircea 유용한 정보를 게시 해 주셔서 감사합니다. 애플에게 : 이것은 바보입니다!
mbm29414

1
그들은 잊지 않았다. 그들은 아무에게도 말하지 않고 옮겼습니다. 애플 문서의 크래킹 수준과 일반적으로 문서의 전체 부족을 고려할 때 일반적입니다.
Duck

77

만들려면 CategoryBaseClass + CategoryName.m / .H :

  1. 파일 → 새로 만들기 → 파일 ... 또는 ⌘N을 사용 하십시오 .
  2. Objective-C File을 선택하십시오 .

여기에 이미지 설명을 입력하십시오

  1. 범주 이름을 입력하고 파일 형식 : 범주 를 선택한 다음 기본 클래스를 선택하십시오.

여기에 이미지 설명을 입력하십시오

  1. 플로우를 완료하여 카테고리를 작성하십시오.


19

Xcode6-Beta5 업데이트

인터페이스가 변경되었으며 새로 만들기> 파일 창에서 범주를 직접 추가 할 수 있습니다.

unmircea의 답변을 참조하십시오 .


나는 나 자신에 놀랐다. 그리고 나는 Swift 때문에 그들이 좋은 오래된 Objective-C를 잊었다 고 생각한다 .

두 가지 옵션이 있습니다.

  1. 범주 이름이 example UIView+Powerups인 Objective-C 클래스를 작성한 다음 범주 중 하나와 일치하도록 인터페이스를 수동으로 변경하십시오. 범주 인터페이스 및 구현에 대한 스 니펫은 여전히 ​​작동하므로 type @interface-category@implementation-category.

  2. Xcode 5에서 가져옵니다! 이 명령을 사용하십시오 :

    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/

    Xcode 6을 닫았다가 다시 열면 마법사에서 새 파일의 "Objective-C Category"를 찾을 수 있습니다.


2
참고 : 이후 베타 버전 인 경우 줄의 Xcode-beta.app를 Xcode6-betaX.app로 변경하십시오. 여기서 X는 베타 번호입니다.
Alex the Ukrainian

1
잘못된! 정답에 대한 아래의 unmircea로 답변을 확인하십시오 -사라지지 않고 방금 이동했습니다.
Jay

12

Xcode 6 베타에서 카테고리를 생성 할 수있는 미리 정의 된 템플릿이 없습니다 (당분간). 나중에이 옵션을 추가 할 수 있습니다. 해결 Cocoa Touch Class방법으로 UIImage+Additions(ClassName + CategoryName) 이라는 ( 적절하지는 않지만 다른 방법은 없음 )을 만들고 인터페이스와 구현을 재정의 할 수 있습니다.

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

편집
이 답변은 Xcode 6 베타에서 카테고리를 만드는 방법을 찾기 전에 작성되었습니다. 카테고리를 작성하는 올바른 방법에 대한 unmircea의 답변 확인


애플은 .... 목표 - C 카테고리, 오브젝티브 C 클래스 확장, 목표 - C 프로토콜 템플릿을 추가하는 것을 잊었다
Yalamandarao

복제하려는 경우 버그 보고서 # 17627118을 만들었습니다.
David Pettigrew

XCode 6의 최종 버전에는 범주 지원 기능이 내장되어 있으므로 해결 방법이 필요 없습니다.
Zorayr

@Zorayr 최종 Xcode 6 버전 이전에 답변을 받았으며 해결 방법도 잘못되지 않았습니다. 단순히 투표하지 마십시오.
Anil Varghese

6

unmircea의 환상적인 답변 확장 : 사용자 정의 카테고리를 생성하여 사용자 정의를 구현하는 방법UIColor 팔레트 만드는 방법, 카테고리를 만들 수 있습니다.

카테고리를 만들면 (이 예에서는 class 라는 카테고리ColorPalette 입니다. UIColor ), 당신은 헤더와 구현 파일이있을 것이다.

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 .

약간 더 심층적 인 토론으로 연결되는 링크가 있습니다. 은 사용자 정의 팔레트 작성 으로 입니다.

또한 여기 에 사용자 정의 색상 값을 선택하는 데 도움되는 도구가 있습니다


1
이 이론적으로 질문에 대답 할 수 있습니다 동안, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다.
재스퍼

3

이전 버전의 Xcode에서 원하는 템플릿을 복사 할 수 있습니다. https://github.com/cDigger/AddMissingTemplates


이것이 작동하는 솔루션 일 수도 있지만 Xcode에 내장 된 범주 지원을 사용하는 것이 좋습니다.이 방법으로 템플릿은 항상 최신 상태입니다.
Zorayr

1

NSString + Helper와 같은 "확장"파일을 생성 할 수 있습니다 :

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 {


}

끝난. 코딩을 즐기십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.