আমি কীভাবে এক্সকোড 6 বা উচ্চতর বিভাগে তৈরি করব?


318

আমি একটি বিভাগ তৈরি করতে চাই UIColor আমার অ্যাপে এক্সকোড in ব্যবহার করে But তবে বিষয়টি হ'ল এক্সকোড in-তে কোনও উদ্দেশ্য-সি বিভাগের ফাইল টেম্পলেট নেই।

এক্সকোড 6 এ কোনও বিভাগ তৈরি করার কোনও বিকল্প নেই?


আপনি এক্সকোড 6 এর আগে এটি কীভাবে করেছিলেন?
হোলএক্স

এটি কেবল উত্স ফাইলে টাইপ করুন: @interface UIColor(MyCategory) ... ইত্যাদি
জেরেমিপি

8
কেন একটি উত্তর নির্বাচন করবেন না ?? সমাধান না খুঁজলে অন্য ব্যবহারকারীদের জন্য এটি না করা সময় নষ্ট করে।
টমমি সি

আপনি যদি সুইফট ব্যবহার করছেন, তবে আপনি কোনও বিভাগের পরিবর্তে এক্সটেনশন তৈরি করবেন। এটি করার জন্য এই উত্তরটি দেখুন ।
সুরগাচ

উত্তর:


745

তারা ভুলেনি। কাউকে কিছু না বলে তারা এটিকে সরিয়ে নিয়েছে।

  1. File-> New-> ক্লিক করুনFile

  2. নির্বাচন Objective-C fileঅনুযায়ী SourcesiOSবা Mac OSযথাক্রমে এবং পরবর্তী ক্লিক করুন

  3. এখন অধীনে File Type:পারেন পছন্দ করে Category, ProtocolকিংবাExtension

পুনশ্চ. অধীনে File Name:যাই হোক না কেন আপনি এখানে টাইপ হতে হবে পারেন Category, Protocolঅথবা Extensionনাম।


13
এটি এত বিভ্রান্তিকর।
বেন সিনক্লেয়ার

6
তারা কেবল সুইফ্ট যুক্ত করার জন্য জায়গা জুড়েছিল এবং সবকিছু উদ্দেশ্যমূলক-সি এর আওতায় লুকিয়ে রেখেছে বা আমি মনে করি তারা এগুলি করেছে। সুইফ্টটি কেন যুক্ত করা হয়েছিল তা আমি ব্যক্তিগতভাবে পাই না, আপনি যখনই তা জানতে পেরেছিলেন তবে অবজেক্টিভ-সি হ'ল একটি সুন্দর এবং অভিব্যক্তিপূর্ণ ভাষা ... এটি সি এর শীর্ষে অবজেক্টস ... পেরেরফেক্ট
অমন

8
হি, এক্সকোড Objective-C Fileby দ্বারা প্রদত্ত বিবরণটি হ'ল "একটি খালি উদ্দেশ্য-সি ফাইল।" আমার বর্ণনার পরিবর্তে এটি হ'ল, "পুরানোগুলির মধ্যে একটিও খালি নয়, অবজেক্টিভ সি ফাইলগুলি যা আপনি ব্যবহার করেছেন" , যা আমাকে মোটামুটি সুন্দরভাবে ফেলে দিয়েছে!
বেনজাহান

@ উমিরসিয়া এই জাতীয় দরকারী তথ্য পোস্ট করার জন্য ধন্যবাদ। আপেলকে: এটা বোকা!
এমবিএম 29414

1
তারা ভুলেনি। কাউকে কিছু না বলে তারা এটিকে সরিয়ে নিয়েছে। সাধারনত অ্যাপল ডকুমেন্টেশনের ক্রপ লেভেল বিবেচনা করে এবং প্রায়শই ডকুমেন্টেশনের মোট অভাব বিবেচনা করে।
হাঁস 20

77

ক্যাটাগরিবেসক্লাস + বিভাগের নাম.এম / ঘন্টা তৈরি করতে :

  1. ফাইল → নতুন → ফাইল ... বা ⌘N ব্যবহার করুন
  2. উদ্দেশ্য সি সি নির্বাচন করুন ।

এখানে চিত্র বর্ণনা লিখুন

  1. বিভাগের নাম টাইপ করুন, ফাইলের ধরণ: বিভাগ নির্বাচন করুন এবং তারপরে বেস শ্রেণিটি নির্বাচন করুন।

এখানে চিত্র বর্ণনা লিখুন

  1. বিভাগ তৈরি করতে প্রবাহটি সম্পূর্ণ করুন।


19

এক্সকোড 6-বিটা 5 আপডেট

ইন্টারফেসটি এখন পরিবর্তিত হয়েছে এবং নতুন> ফাইল উইন্ডো থেকে সরাসরি কোনও বিভাগ যুক্ত করা সম্ভব।

দেখুন unmircea এর উত্তর


আমি নিজেই অবাক হয়েছি, এবং আমার ধারণা সুইফটের কারণে তারা ভাল পুরানো উদ্দেশ্য-সি সম্পর্কে ভুলে গেছে

আপনার দুটি বিকল্প রয়েছে:

  1. বিভাগের নামের সাথে একটি উদ্দেশ্য-সি বর্গ তৈরি করুন, উদাহরণস্বরূপ UIView+Powerups, তারপরে বিভাগের সাথে একটিটির সাথে ম্যানুয়ালি ইন্টারফেসটি পরিবর্তন করুন। লক্ষ করুন যে বিভাগের ইন্টারফেস এবং বাস্তবায়নের স্নিপেট এখনও কাজ করছে, তাই এটি অতিরিক্ত সহজ: টাইপ @interface-categoryএবং @implementation-category

  2. এক্সকোড 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/

    এক্সকোড 6টি বন্ধ এবং পুনরায় খুলুন এবং আপনি নতুন ফাইলটির উইজার্ডে "উদ্দেশ্য-সি বিভাগ" পাবেন find


2
এফওয়াইআই: আপনি যদি পরে বিটাতে থাকেন তবে এক্সকোড -বেতা.এপ লাইনে Xcode6-betaX.app পরিবর্তন করুন যেখানে এক্স বিটা নম্বর।
অ্যালেক্স ইউক্রেনীয়

1
ভুল! সঠিক উত্তরের জন্য নীচে অমিরসিয়া দ্বারা উত্তরটি দেখুন - এটি শেষ হয়নি, এটি সবেমাত্র চলে গেছে ..
জে

12

এক্সকোড 6 বিটাতে (সময়ের জন্য) বিভাগ তৈরি করার জন্য কোনও পূর্বনির্ধারিত টেম্পলেট নেই, তারা পরে এই বিকল্পটি যুক্ত করতে পারেন। চারপাশের কাজ হিসাবে আপনি (ClassName + বিভাগের Cocoa Touch Classনাম) নামের একটি (এটি যথাযথ নয় তবে আমি জানি না অন্য কোনও উপায়) তৈরি করতে পারে UIImage+Additionsএবং এর ইন্টারফেস এবং বাস্তবায়নকে ওভাররাইড করে যেমন কিছু জিনিস

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 বিটাতে বিভাগ তৈরির উপায় খুঁজে পাওয়ার আগে লেখা হয়েছিল। বিভাগ তৈরির সঠিক পদ্ধতির জন্য অমিরেসিয়ার উত্তরটি পরীক্ষা করে দেখুন


অ্যাপল অবজেক্টিভ-সি ক্যাটাগরি, অবজেক্টিভ-সি ক্লাস এক্সটেনশন, অবজেক্টিভ-সি প্রোটোকল টেম্পলেট যোগ করতে ভুলে গেছে ....
ইয়ালামান্ডারও

আপনি যদি এটির সদৃশ করতে চান তবে আমি একটি বাগ রিপোর্ট # 17627118 তৈরি করেছি।
ডেভিড পেটিগ্রিভ

এক্সকোড 6 এর চূড়ান্ত সংস্করণটিতে অন্তর্নির্মিত বিভাগ সমর্থন রয়েছে বলে এখন থেকেই কাজের প্রয়োজন নেই।
জোড়ায়র

@ জোরেয়ার এটি চূড়ান্ত এক্সকোড 6 সংস্করণের আগে উত্তর দেওয়া হয়েছিল এবং চারপাশের কাজটিও ভুল নয়। সহজভাবে ভোট কমে না।
অনিল ভার্গিজ

6

অমিরেসিয়ার চমত্কার উত্তরটি প্রসারিত করে : কাস্টম UIColorপ্যালেট বাস্তবায়নের জন্য কীভাবে একটি কাস্টম বিভাগ তৈরি করা যায় আপনি একটি বিভাগ তৈরি করতে পারেন।

একবার আপনি (এই উদাহরণে, এটি একটি আপনার বিভাগ তৈরি করেছি বিভাগ নামক 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"

এবং হিসাবে আপনি would মত একটি প্রমিত রঙ রঙ কল redColor, greenColorঅথবা blueColor

এখানে একটি কাস্টম প্যালেট তৈরির বিষয়ে আরও কিছুটা গভীরতার আলোচনার লিঙ্ক

অতিরিক্তভাবে, কাস্টম রঙের মানগুলি নির্বাচন করতে আপনাকে সহায়তা করার জন্য এখানে একটি সরঞ্জাম


1
যতক্ষণ এই তাত্ত্বিক প্রশ্নের উত্তর হতে পারে, এটা বাঞ্ছনীয় হবে উত্তর অপরিহার্য অংশের এখানে অন্তর্ভুক্ত করা, এবং রেফারেন্স এর জন্য লিঙ্ক প্রদান।
জ্যাস্পার

3

আপনি কেবলমাত্র Xcode এর একটি পুরানো সংস্করণ থেকে আপনার যে টেম্পলেটগুলি চান তা অনুলিপি করতে পারেন, আমি এটির জন্য একটি শেল স্ক্রিপ্ট তৈরি করেছি: https://github.com/cDigger/AddMissingTemplates


যদিও এটি একটি কার্যক্ষম সমাধান হতে পারে তবে এক্সকোডে অন্তর্নির্মিত বিভাগ সমর্থনটি ব্যবহার করা সম্ভবত এটি আরও ভাল ধারণা - এইভাবে টেমপ্লেটগুলি সর্বদা আপ টু ডেট থাকবে।
জোরেয়ার

1

আপনি এনএসএসস্ট্রিং + হেল্পারের মতো "এক্সটেনশন" ফাইল তৈরি করতে পারেন:

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.