উত্তর:
আমি মডিউলগুলির কারণে সন্দেহ করি যা এর প্রয়োজনগুলি সরিয়ে দেয় #import <Cocoa/Cocoa.h>
।
আপনি একটি উপসর্গ শিরোনামে যে কোডটি রাখবেন সেদিকে কোন প্রিফিক্স শিরোনাম স্থাপন করা উচিত এমন কোনও কোড নেই। আপনার আমদানিগুলি প্রয়োজনীয় ফাইলগুলিতে রাখুন। আপনার সংজ্ঞাগুলি তাদের নিজস্ব ফাইলগুলিতে রাখুন। আপনার ম্যাক্রো রাখুন ... কোথাও নেই। অন্য কোনও উপায় না থাকলে (যেমন আপনার যখন প্রয়োজন হয় __FILE__
) ম্যাক্রোগুলি লেখা বন্ধ করুন । আপনার যদি ম্যাক্রোর প্রয়োজন হয় তবে এগুলি একটি শিরোনামে রাখুন এবং এটি অন্তর্ভুক্ত করুন।
প্রিফিক্স শিরোনাম এমন জিনিসগুলির জন্য প্রয়োজনীয় ছিল যা পুরো সিস্টেমের প্রায় প্রতিটি জিনিস (যেমন Foundation.h
) দ্বারা বিশাল এবং ব্যবহৃত হয় । যদি আপনার কাছে বিশাল এবং সর্বব্যাপী কিছু থাকে তবে আপনার আর্কিটেকচারটি পুনর্বিবেচনা করা উচিত। উপসর্গ শিরোনামগুলি কোডগুলি পুনরায় ব্যবহার করা শক্ত করে তোলে এবং তালিকাভুক্ত ফাইলগুলির মধ্যে যে কোনওটি পরিবর্তন করতে পারে যদি সূক্ষ্ম বিল্ড সমস্যার সূচনা করে। প্রিফিক্স শিরোলেখ দিয়ে নাটকীয়ভাবে উন্নতি না হওয়া অবধি আপনার এ সময়টি এড়িয়ে চলুন যে আপনি নির্মাণের কোনও গুরুতর সময় সমস্যা দেখাতে পারবেন না।
সেক্ষেত্রে আপনি একটি তৈরি করতে পারেন এবং এটিকে ঝনঝন হয়ে যেতে পারেন, তবে এটি দুর্দান্ত ধারণা যে এটি খুব ভাল।
সম্পাদনা: এইচইউডি সম্পর্কে আপনার নির্দিষ্ট প্রশ্নের জন্য আপনি আপনার সমস্ত ভিউ কন্ট্রোলারগুলিতে ব্যবহার করেন, হ্যাঁ, আপনি একে একে একে একে একে একে প্রতিটি ভিউ কন্ট্রোলারে আমদানি করা উচিত যা এটি আসলে ব্যবহার করে। এটি নির্ভরতা পরিষ্কার করে তোলে। আপনি যখন কোনও নতুন প্রকল্পে আপনার ভিউ কন্ট্রোলারটিকে পুনরায় ব্যবহার করবেন (আপনি যদি আপনার কন্ট্রোলারগুলি ভালভাবে গড়ে তোলেন তবে এটি সাধারণ) তখন আপনি কী প্রয়োজন তা অবিলম্বে জানতে পারবেন। এটি বিভাগগুলির জন্য বিশেষত গুরুত্বপূর্ণ, যদি তারা অন্তর্ভুক্ত থাকে তবে কোডটি পুনরায় ব্যবহার করা খুব শক্ত করে তোলে।
তালিকা নির্ভরতা থেকে মুক্তি পাওয়ার জন্য PCH ফাইল নেই। এক্সকোড টেম্পলেটগুলির মতো আপনার এখনও প্রয়োজনীয় UIKit.h
বা আমদানি করা উচিত Foundation.h
। পিএইচসি-এর কারণ হ'ল সত্যিকারের বিশাল হেডারের (ইউআইকিট-এর মতো) সাথে ডিল করার সময় বিল্ডিং সময়ের উন্নতি করা।
TWAPIManager.m
উদাহরণস্বরূপ, আপনি অন্য কোনও প্রকল্পে অনুলিপি করার চেষ্টা করার সময়, আপনি ত্রুটিগুলি পাবেন যা TWALog()
সংজ্ঞায়িত নয়, এটি কোথায় পাওয়া যাবে সে সম্পর্কে কোনও ইঙ্গিত ছাড়াই। কোড ভাগ করে নেওয়ার চেষ্টা করে বেশ কয়েকটি বড় প্রকল্পে আমি ঠিক সেই সমস্যার মুখোমুখি হয়েছি। এটি তৈরি TWAPILog.h
এবং আমদানি করা এটি তুচ্ছ ডেভ ব্যয়ের সাথে সমাধান করে।
প্রশ্নটি যদি সঠিক হয় বা না হয় তবে আপনি নিজেই PCH ফাইল যুক্ত করতে পারেন:
প্রকল্পের নতুন PCH ফাইল যোগ করুন নতুন ফাইল> অন্যান্য> PCH ফাইল ।
উদ্দিষ্ট এর এ সেটিং বিল্ড বিকল্প, মান সেট উপসর্গ শিরোলেখ উপসর্গ হিসাবে প্রকল্পের নাম সঙ্গে আপনার PCH ফাইল নাম, (নামে প্রকল্পের জন্য অর্থাত TestProject
এবং নামে PCH ফাইল MyPrefixHeaderFile
, মান যোগ TestProject/MyPrefixHeaderFile.pch
plist করার জন্য)।
টিপ: আপনি প্রকল্পটি যেখানে রেখেছেন তার মতো জিনিসগুলি ব্যবহার করতে $(SRCROOT)
বা $(PROJECT_DIR)
পথে যেতে পারেন .pch
।
উদ্দিষ্ট এর এ সেটিং বিল্ড বিকল্প, মান সেট Precompile উপসর্গ শিরোলেখ করতে YES
।
আপনার নিজের পিএইচসি ফাইল
অ্যাড তৈরি করতে হবেNew file -> Other-> PCH file
তারপরে আপনার বিল্ডে এই পিসিএইচ ফাইলটির পাথ যুক্ত করুন setting->prefix header->path
($ (SRCROOT) /filename.pch)
$(PRODUCT_DIR)/$(PRODUCT_NAME)/PrefixHeader.pch
.Pch ফাইল যুক্ত করতে-
1) আপনার প্রকল্পে নতুন .pch ফাইল যুক্ত করুন -> নতুন ফাইল-> অন্যান্য-> পিএইচসি ফাইল
2) আপনার প্রকল্পের বিল্ড সেটিংস যান oto
3) "উপসর্গ শিরোনাম" অনুসন্ধান করুন। আপনি এটি অ্যাপল এলএলভিএম এর অধীনে খুঁজে পেতে পারেন।
4) মাঠে এটি আটকান $(SRCROOT)/yourPrefixHeaderFileName.pch
5) প্রকল্পটি পরিষ্কার করুন এবং নির্মাণ করুন। এটাই!!!
আপনি যদি ম্যানুয়ালি একটি .pch ফাইল যুক্ত করার সিদ্ধান্ত নিয়ে থাকেন এবং আপনি xCode 6 এর মতোই অবজেক্টিভ-সি ব্যবহার করতে চান তবে আপনাকে .pch ফাইলে ইউআইকিট এবং ফাউন্ডেশন ফ্রেমওয়ার্কগুলিও আমদানি করতে হবে। অন্যথায় আপনাকে প্রতিটি ফ্রেম ফাইলটিতে ম্যানুয়ালি এই ফ্রেমওয়ার্কগুলি আমদানি করতে হবে। এটি ব্যবহৃত ভাষার পরীক্ষার জন্য আপনি নিম্নলিখিত কোডটি যেভাবেই যুক্ত করতে পারেন:
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
ব্যবহার:
PRO (PROJECT_DIR) / প্রকল্পের নাম / PrefixHeader.pch
নতুন PCH ফাইল যুক্ত করার জন্য বেলো পদক্ষেপগুলি অনুসরণ করুন:
(1) নতুন দর্শন যুক্ত করুন - আইওএস - অন্যান্য এবং পিসিএইচ ফাইল নির্বাচন করুন
(২) আপনার প্রকল্পে এই PCH ফাইলটির পথ যুক্ত করুন - বিল্ডসেটিং - অ্যাপল এলএলভিএম 6.0 ভাষা
উপসর্গের শিরোনামের পথটি সেট করুন আপনার অ্যাপ্লিকেশন নাম (রুট-পাথ) /filename.pch