এআরসি বা না এআরসি? উপকারিতা কি কি? [বন্ধ]


113

আমি এখনও এআরসি ব্যবহার করতে পারি না, যেহেতু এই মুহুর্তে আমি যে প্রকল্পে কাজ করছি তাতে বেশিরভাগ কোড প্রি-আইওএস 5.0 লেখা ছিল।

আমি কেবল ভাবছিলাম, ম্যানুয়ালি ধরে রাখা / ছেড়ে দেওয়ার সুবিধা (এবং সম্ভবত আরও নির্ভরযোগ্য কোড যা ফলাফল হিসাবে আসে?) এআরসি ব্যবহারের কোনও 'ব্যয়' ছাড়িয়ে যায়? এআরসি সম্পর্কে আপনার অভিজ্ঞতাগুলি কী এবং আপনি কি এটির সুপারিশ করবেন?

তাই:

  • কোন প্রকল্পে এআরসি কতটা সুবিধা নিয়ে আসতে পারে?
  • জাভাতে আবর্জনা সংগ্রহের মতো এআরসি-এর কি কোনও খরচ আছে?
  • আপনি কি এআরসি ব্যবহার করছেন এবং যদি তাই হয় তবে আপনি এতক্ষণ কীভাবে খুঁজে পেয়েছেন?

আইপ্যাড / আইওএসে কোনও জঞ্জাল সংগ্রহ নেই। আপনি ওএস এক্স সম্পর্কে কথা বলছেন?
dasblinkenlight

1
আমার ক্ষমাপ্রার্থী, আমি জায়গার বাইরে জায়গার শর্তাদি ব্যবহার করছি। আমার অর্থ হ'ল এআরসি দিয়ে বস্তুগুলিকে প্রয়োজনের চেয়ে বেশি সময়ের জন্য স্মৃতিতে রাখা যেতে পারে, তারপরে কিছু সময় পরে একটি অটো-রিলিজ পুলে একটি গোষ্ঠী হিসাবে প্রকাশ করা হয়। এটি পরে রাখার পরে এবং অন্যান্য অবজেক্টের সাথে প্রকাশের ফলে জাভার আবর্জনা সংগ্রহের মতোই আমি উল্লেখ করছি effect
সাইমন উইথিংটন

3
@ টেনেন্টফ্যানস্টার, একই কোডের জন্য (বিয়োগ কলগুলি প্রকাশের জন্য), এআরসি অবজেক্টটিকে আর -আরসি কোড ছাড়া আর ধরে রাখবে। প্রকৃতপক্ষে, এটি প্রায়শই এটি আপনার চেয়ে শীঘ্রই মুক্তি দেবে। কিছু সংখ্যক জিনিস রয়েছে যা কিছুটা ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে বাড়িয়ে দেয়, তবে তারা সাধারণ প্যাটার্নগুলিকে এতটাই বাড়িয়ে তোলে যে এটি কার্য সম্পাদনের প্রভাবকে বামন করে। অনেকগুলি সাধারণ নিদর্শনগুলির জন্য (উদাহরণস্বরূপ একটি অটোরিলেজ দিয়ে প্রত্যাবর্তিত কোনও অবজেক্টটি ধরে রাখা), আপনি আক্ষরিকভাবে এটিকে হাতে এত দ্রুত লিখতে পারবেন না যতটা ARC এটি স্বয়ংক্রিয়ভাবে করবে।
রব নেপিয়ার

1
আবর্জনা সংগ্রহের ক্ষেত্রে, এই একই প্রশ্নের আমার উত্তরটি দেখুন: উদ্দেশ্য-সি স্বয়ংক্রিয় রেফারেন্স গণনা এবং আবর্জনা সংগ্রহের মধ্যে পার্থক্য কী?
ব্র্যাড লারসন

উত্তর:


147

কোনও খারাপ দিক নেই। এটা ব্যবহার করো. আজই কর। এটি আপনার পুরানো কোডের চেয়ে দ্রুত। এটি আপনার পুরানো কোডের চেয়ে নিরাপদ। এটি আপনার পুরানো কোডের চেয়ে সহজ। এটি আবর্জনা সংগ্রহ নয়। এটির কোনও জিসি রানটাইম ওভারহেড নেই। সংকলক সন্নিবেশগুলি যেভাবে আপনার থাকা উচিত সমস্ত স্থানে ধরে রাখে এবং প্রকাশ করে। তবে এটি আপনার চেয়ে বেশি স্মার্ট এবং বাস্তবে প্রয়োজনীয় নয় এমনগুলি খুঁজে বের করতে পারে (ঠিক যেমন এটি লুপগুলি তালিকাভুক্ত করতে পারে, অস্থায়ী পরিবর্তনগুলি, ইনলাইন ফাংশন ইত্যাদি নির্মূল করতে পারে))

ঠিক আছে, এখন আমি আপনাকে ছোট ডাউনসাইড সম্পর্কে বলব:

  • আপনি যদি দীর্ঘ সময়ের ওবিজেসি বিকাশকারী হন, আপনি যখন এআরসি কোডটি দেখেন তখন আপনি প্রায় এক সপ্তাহের জন্য মুচড়ে যাবেন। আপনি খুব দ্রুত এটি অতিক্রম করতে হবে।

  • কোর ফাউন্ডেশন কোড ব্রিজ করতে কিছু (খুব) ছোট জটিলতা রয়েছে। যে কোনও idহিসাবে আচরণ করে এমন কিছু নিয়ে কিছুটা জটিলতা রয়েছে void*। সি-অ্যারের মতো বিষয়গুলি idসঠিকভাবে করতে আরও কিছুটা ভাবতে পারে। ওবিজির অভিনব হ্যান্ডলিংও va_argsসমস্যা তৈরি করতে পারে। একটি ObjC পয়েন্টারে গণিত জড়িত বেশিরভাগ জিনিস জটিল trick আপনার কোনও অবস্থাতেই এর বেশি হওয়া উচিত নয়।

  • আপনি একটি idএ স্থাপন করতে পারবেন না struct। এটি মোটামুটি বিরল, তবে কখনও কখনও এটি ডেটা প্যাক করার জন্য ব্যবহৃত হয়।

  • আপনি যদি কেভিসি নামকরণ সঠিকভাবে অনুসরণ না করে থাকেন এবং আপনি এআরসি এবং নন-এআরসি কোডটি অন্তর্নিয়োগ করেন তবে আপনার মেমরির সমস্যা হবে। এআরসি মেমরি পরিচালনা সম্পর্কিত সিদ্ধান্ত নিতে কেভিসি নামকরণ ব্যবহার করে। যদি এটি সমস্ত এআরসি কোড হয় তবে তাতে কিছু আসে যায় না কারণ এটি এটি উভয় পক্ষের একই "ভুল" করবে। তবে এটি যদি ARC / নন-এআরসি মিশ্রিত থাকে তবে একটি মিল নেই।

  • ওজেসি ব্যতিক্রম ছোঁড়ার সময় এআরসি মেমরি ফাঁস করবে। আপনার প্রোগ্রামটি শেষ হওয়ার সাথে সাথে একটি ওবিজেসি ব্যতিক্রম খুব কাছাকাছি হওয়া উচিত। আপনি যদি উল্লেখযোগ্য সংখ্যক ওবিজিসি ব্যতিক্রম ধরা থাকেন তবে আপনি সেগুলি ভুলভাবে ব্যবহার করছেন। এটি ব্যবহার করে স্থিরযোগ্য -fobjc-arc-exceptionsতবে এটি নীচে আলোচিত জরিমানা সহ:

  • আরজে ওবিজেসি বা সি ++ ব্যতিক্রমের সময় ওবিজেসি ++ কোডে মেমরি ফাঁস করবে না, তবে এটি সময় এবং স্থান উভয়ের পারফরম্যান্সের জন্যই ব্যয় করে। এটি ObjC ++ এর আপনার ব্যবহারকে হ্রাস করার কারণগুলির দীর্ঘ তালিকায় আরও একটি।

  • এআরসি আইফোনএস 3 বা ম্যাক ওএস এক্স 10.5 বা তার আগের কোনওটিতে কাজ করবে না। (এটি আমাকে অনেক প্রকল্পে আরসি ব্যবহার করা থেকে বিরত রাখে))

  • __weakপয়েন্টারগুলি আইওএস 4 বা ম্যাক ওএস এক্স 10.6 এ সঠিকভাবে কাজ করে না যা লজ্জাজনক, তবে প্রায় কাজ করা মোটামুটি সহজ। __weakপয়েন্টার দুর্দান্ত, তবে এআরসি এর # 1 বিক্রয় পয়েন্ট নয়।

কোডের 95% + এর জন্য, আরসি উজ্জ্বল এবং এটি এড়ানোর কোনও কারণ নেই (আপনি ওএস সংস্করণের সীমাবদ্ধতাগুলি পরিচালনা করতে পারেন তবে)। নন-আরসি কোডের জন্য, আপনি -fno-objc-arcফাইল-বাই-ফাইলের ভিত্তিতে পাস করতে পারেন । দুর্ভাগ্যক্রমে এক্সকোড অনুশীলনে করা উচিত এর থেকে এটি আরও শক্ত করে তোলে। এটিকে সহজ করার জন্য আপনার সম্ভবত নন-এআরসি কোডটি একটি পৃথক এক্সকোডেপ্রোজে স্থানান্তরিত করা উচিত।

উপসংহারে, যত তাড়াতাড়ি সম্ভব এআরসি তে স্যুইচ করুন এবং কখনই পিছনে ফিরে তাকাবেন না।


সম্পাদনা

আমি "এআরসি ব্যবহার করা কোকো মেমোরি ম্যানেজমেন্টের নিয়মগুলি জানার কোনও বিকল্প নয়" এই ধারায় বেশ কয়েকটি মন্তব্য দেখেছি। এটি বেশিরভাগ ক্ষেত্রেই সত্য, তবে কেন এবং কেন নয় তা বোঝা গুরুত্বপূর্ণ। প্রথমত, যদি আপনার সমস্ত কোডটি এআরসি ব্যবহার করে এবং আপনি তিনটি যাদু শব্দের লঙ্ঘন করেনপুরো জায়গা জুড়ে, আপনার এখনও কোনও সমস্যা নেই। অবাক করে বলা, কিন্তু আপনি সেখানে যান। এআরসি কিছু জিনিস ধরে রাখতে পারে যা আপনি ধরে রাখতে চাইছেন না তবে এটি সেগুলিও ছেড়ে দেবে, তাই এটি কোনও বিষয় নয়। যদি আমি আজ কোকোয় একটি নতুন ক্লাস শিখিয়েছি, আমি সম্ভবত প্রকৃত মেমরি পরিচালনার নিয়মে পাঁচ মিনিটের বেশি সময় ব্যয় করিনি এবং কেভিসি নামকরণের বিষয়ে আলোচনা করার সময় আমি সম্ভবত মেমরি পরিচালনার নামকরণের নিয়মগুলি উল্লেখ করেছি mention এআরসি দিয়ে, আমি বিশ্বাস করি আপনি মেমরি পরিচালনার নিয়মগুলি একেবারেই না শিখেই আসলেই একটি শালীন প্রারম্ভিক প্রোগ্রামার হয়ে উঠতে পারেন।

তবে আপনি কোনও শালীন ইন্টারমিডিয়েট প্রোগ্রামার হতে পারেন নি। কোর ফাউন্ডেশনের সাথে সঠিকভাবে ব্রিজ করার জন্য আপনাকে নিয়মগুলি জানতে হবে এবং প্রতিটি মধ্যবর্তী প্রোগ্রামারকে কিছুটা সময় সিএফ এর সাথে ডিল করতে হবে। এবং আপনার মিশ্র-এআরসি / এমআরসি কোডের নিয়মগুলি জানতে হবে। আপনি যখন void*নির্দেশকগুলিতে id(যা আপনার কেভিও সঠিকভাবে সঞ্চালনের প্রয়োজন অবিরত রেখেছেন) সাথে জগাখিচুড়ি শুরু করবেন তখন আপনাকে নিয়মগুলি জানতে হবে। এবং ব্লকস ... ভাল, ব্লক মেমরি পরিচালনা ঠিক অদ্ভুত।

সুতরাং আমার বক্তব্যটি অন্তর্নিহিত মেমরি পরিচালনা এখনও গুরুত্বপূর্ণ, তবে আমি যেখানে নতুন প্রোগ্রামারদের নিয়মগুলি উল্লেখ করতে এবং পুনরায় পুনরুদ্ধার করতে উল্লেখযোগ্য সময় ব্যয় করতাম, এটিআরসি সহ এটি আরও উন্নত একটি বিষয় হয়ে উঠছে। আমি বরং বরং নতুন বিকাশকারীদের অন্তর্নিহিত কলগুলি দিয়ে তাদের মাথা পূরণ করার পরিবর্তে অবজেক্ট গ্রাফগুলির বিবেচনায় ভাবতে চাই objc_retain()


3
একটি বিষয় সম্পর্কে খুব সাবধানতা অবলম্বন করা উচিত (নন-এআরসি-তেও, তবে এআরসি-তে আরও বেশি কারণ এটি এখন এত অদৃশ্য) চক্র ধরে রাখা। এখানে আমার পরামর্শটি 1) আপনি যদি নিজেকে একটি ওজেক্ট ব্লকটি একটি উদাহরণ ভেরিয়েবল হিসাবে সঞ্চিত করে থাকেন তবে এটি একটি দীর্ঘ কড়া নজর দিন এটি অপ্রত্যক্ষভাবে এমনকি এটির আইভারটিকে কীভাবে ক্যাপচার করতে পারে কিনা তা দেখুন। 2) প্রকৃতপক্ষে এটি ঘটতে দেওয়া পরিবর্তে আপনার বস্তুর গ্রাফটি ডিজাইন করুন। আপনি অবশ্যই ভাল কোড লিখতে চান তবে কিসের মালিক তা অবশ্যই আপনার জানা উচিত । 3) ব্যবহারের heapshots: friday.com/bbum/2010/10/17/...
Catfish_Man

1
@ গুগলফিশ_মান সমস্ত ভাল পয়েন্ট। রেটেন লুপগুলি বরাবরই একটি সমস্যা হয়ে দাঁড়িয়েছে। অ্যাপলের নতুন পরামর্শ হ'ল আপনি # 2 তে বলেছেন। আমাদের ধরে রাখতে এবং প্রকাশের পরিবর্তে অবজেক্ট গ্রাফগুলি নিয়ে ভাবতে হবে। # 1 ব্লকগুলির সাথে একটি গুরুতর সমস্যা, এবং বেশ কয়েকটি কারণে আমি ব্লকগুলিকে একটি মিশ্র আশীর্বাদ পাই যা সতর্কতার সাথে যোগাযোগ করা উচিত।
রব নেপিয়ার

2
এখানে একটি গুরুতর নেতিবাচক দিক রয়েছে যা উল্লেখ করা হয়নি: ক্রস-সামঞ্জস্য। আমাদের জন্য সাহসী ও বোকা প্রাণীরা যারা ক্রস-প্ল্যাটফর্ম প্রোগ্রামিং হিসাবে পরিচিত জঞ্জালভূমির মুখোমুখি হয়, এআরসি কেবল কোনও বিকল্প নয়, কমপক্ষে জিএনইউ তাদের ওজেসি রানটাইম এবং সংকলক বৈশিষ্ট্যগুলিতে আবার প্রসারিত না হওয়া পর্যন্ত না (তারা আরও বলছে যে পথে)।
খরগোশ

2
আপনি আইওএস 3.x ডিভাইস সমর্থন করা প্রয়োজন ব্যতীত আপনি এআরসি ব্যবহার করতে পারেন। বিটিডাব্লু, রূপান্তরটি সম্পাদনের জন্য এক্সকোড ব্যবহার নিশ্চিত করুন (সম্পাদনা> রিফ্যাক্টর> উদ্দেশ্য-সি এআরসি তে রূপান্তর করুন)। প্রক্রিয়া চলাকালীন Xcode আপনার কোডটি কার্যকর করবে এবং এই নকশাগুলির নির্দেশিকা লঙ্ঘন করে এমন কোনও কোড বের করে তা নিশ্চিত করতে প্রচুর বৈধতা দেবে would
ZhangChn

1
চমৎকার .. পয়েন্টওয়াইজ সহ উত্তর। এটা আমার কাছ থেকে 100 তম। এক শতাব্দীর জন্য অভিনন্দন;)
অজয় শর্মা

20

আমার চেয়ে ভাল, আরও প্রযুক্তিগত উত্তর আসবে তবে এখানে যায়:

  • এআরসি! = আবর্জনা সংগ্রহ। কোনও রান টাইম পেনাল্টি নেই, এটি সংকলন সময়ে করা হয়।
  • এআরসিও! = আপনার মন্তব্যে যেমন পরামর্শ দেওয়া হয়েছে ঠিক তেমন সবকিছুই স্বয়ংক্রিয়ভাবে প্রকাশ করা হচ্ছে। দস্তাবেজগুলি পড়ুন
  • এটা ভয়ঙ্কর একবার আপনি কত ম্যানুয়াল রেফারেন্স ব্যবস্থাপনা বুঝতে হয় করছেন
  • এটা ব্যবহার করো!
  • একটি অসুবিধা - পুরানো, নন-আরক কোড বজায় রাখা হঠাৎ খুব ক্লান্তিকর হয়ে ওঠে।

হ্যাঁ, এ কারণেই আমি এখনও এটিকে ব্যবহার করি নি - আমি নিশ্চিত নই যে রূপান্তর করতে আমাদের প্রচুর প্রাক-বিদ্যমান কোডটি সহ্য করতে পারব ... আমি পরবর্তী প্রকল্পে অবশ্যই চেষ্টা করব। আপনার উত্তরের জন্য ধন্যবাদ :)
সাইমন উইথিংটন

পুরানো কোড বজায় রাখা আরও কঠিন হয়ে ওঠে না, এটি আপনার প্রত্যাশা বদলেছে। সুতরাং জীবনকে সহজ করার জন্য এআরসিকে দোষ দেওয়া সত্য নয় fair আপনি প্রস্তুত থাকাকালীন এক্সকোড আপনার পুরানো কোডটিকে এআরসি তে রূপান্তর করা সহজ করে তোলে, তবে আপনার যদি এখনও পুরানো আইওএস সংস্করণ সমর্থন করার প্রয়োজন হয় তবে আপনি অবশ্যই এটি ব্যবহার করতে পারবেন না।
কালেব

1
@ কালেব আমি আরসিকে দোষ দিচ্ছিলাম না, এটি এখন পর্যন্ত কেবলমাত্র একমাত্র খারাপ দিকই দেখেছি - এটি আমাকে একক প্রকল্পের জায়গায় পচা করেছে।
jrturton

হ্যাঁ; আমি এটিকে সমস্যা হিসাবে তালিকাভুক্ত করি নি, তবে যখন আপনাকে কোড-বেসগুলির মধ্যে স্যুইচ করতে হয় তখন মেমরি পরিচালনার অনুশীলন থেকে বেরিয়ে আসার একটি ছোট সমস্যা রয়েছে। আমার কিছু প্রকল্প 10.4-এ চলে, তাই আমি এখনও প্রচুর উদ্দেশ্য-সি 1.0 কাজ করি (সুতরাং কোনও @ সন্ন্যাসাইজ করুন না, এআরসি ছেড়ে দিন)। তবে আপনি মোডগুলি বেশ ভালভাবে স্যুইচ করতে অভ্যস্ত হন।
রব নেপিয়ার

@ জার্টার্টনকে আমার আরও স্পষ্ট করে দেওয়া উচিত ছিল যে আমি লিখেছিলাম যে ওপি এবং ভবিষ্যতের পাঠকদের সুবিধার্থে যারা এআরসি কী করবে তা আঁকড়ে না ফেলতে পারে। আমি ঠিক কী বলতে চাই তা আমি জানি, কেবল এটিই চাইনি যে কেউ ভুল উপসংহার টানতে পারে যে এআরসি এবং নন-এআরসি কোড মিশিয়ে একটি সমস্যা তৈরি করে।
কালেব

16

কোন প্রকল্পে এআরসি কতটা সুবিধা নিয়ে আসতে পারে?

সুবিধার সাধারণ মেমরি পরিচালনা ভুল থেকে সুরক্ষা একটি উল্লেখযোগ্য ডিগ্রী। কোনও অবজেক্ট প্রকাশ করতে ব্যর্থ হওয়ার কারণে এবং ফাঁকে ফাঁকে ফাঁকে কিছুটা হ্রাস করা উচিত। আপনার এখনও রেফারেন্স গণনা করা মেমরি মডেলটি বুঝতে হবে যাতে আপনি আপনার রেফারেন্সগুলিকে শক্তিশালী বা দুর্বল হিসাবে শ্রেণিবদ্ধ করতে পারেন, চক্র ধরে রাখতে পারবেন না ইত্যাদি।

জঞ্জাল সংগ্রহ সত্যিই কত 'ব্যয়' করে?

আইওএসে কোনও আবর্জনা সংগ্রহ নেই। এআরসি জিসির সাথে সমান যা আপনাকে ম্যানুয়ালি কোনও জিনিস ধরে রাখতে বা প্রকাশ করতে হবে না। এটি জিসির বিপরীতে যে কোনও আবর্জনা সংগ্রহকারী নেই। রক্ষণ / প্রকাশের মডেলটি এখনও প্রযোজ্য, সংকলকটি ঠিক তখনই সংকলনের সময় আপনার কোডের জন্য উপযুক্ত মেমরি পরিচালনার কলগুলি সন্নিবেশ করায়।

আপনি কি এআরসি ব্যবহার করছেন এবং যদি তাই হয় তবে আপনি এতক্ষণ কীভাবে খুঁজে পেয়েছেন?

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

এআরসি-র একমাত্র সমস্যা হ'ল এটি আইওএস-র পুরানো সংস্করণগুলিতে সমর্থিত নয়, সুতরাং এটি গ্রহণ করার সিদ্ধান্ত নেওয়ার আগে আপনাকে এটিকে বিবেচনায় নেওয়া উচিত।


1
আমি আরও ভাল উত্তর সম্পর্কে কথা বলছিলাম আছে!
jrturton

1
হ্যাঁ, দুর্দান্ত উত্তর। সুতরাং এআরসি-র সত্যিই কোনও ত্রুটি নেই যে এটি কাজ করে তা বিশ্বাস করতে শেখা বাদ দিয়ে? এক্ষেত্রে সত্য হতে খুব ভাল লাগছে?
সাইমন ওপিংটন

4

আমি মনে করি এআরসি একটি দুর্দান্ত ধারণা। জিসির সাথে তুলনা করে আপনি নিজের কেক রাখতে পারেন এবং এটিও খেতে পারেন। আমি বিশ্বাস করি যে এমআরসি মেমোরি ম্যানেজমেন্টের প্রতি একটি অমূল্য 'শৃঙ্খলা' চাপিয়ে দেয় যা প্রত্যেকের থাকার ফলে উপকৃত হবে। তবে আমি এটিও সম্মত করি যে সচেতন হওয়ার আসল বিষয়টি হ'ল অবজেক্ট ওনারশিপ এবং অবজেক্ট গ্রাফগুলি (যেমন অনেকে উল্লেখ করেছেন), এবং প্রতি সেচেই নিম্ন-স্তরের রেফারেন্স গণনা করে না।

উপসংহারে: এআরসি মেমরির বিষয়ে নির্বোধ থাকার জন্য একটি মুক্ত পাস নয়; এটি মানবকে পুনরাবৃত্তিমূলক কাজগুলি এড়াতে সহায়তা করার একটি সরঞ্জাম, যা চাপ সৃষ্টি করে এবং ত্রুটির প্রবণ হয়, সুতরাং একটি মেশিনের (সংকলক, এই ক্ষেত্রে) ভাল অর্পণ করা হয়।

এটি বলেছিল, আমি ব্যক্তিগতভাবে একজন কারিগর এবং এখনও রূপান্তর করি নি। আমি সবেমাত্র গিট ব্যবহার শুরু করেছি ...

আপডেট: সুতরাং আমি আমার পুরো গেমটি স্থানান্তরিত করেছি, জিএল লাইব্রেরি অন্তর্ভুক্ত রয়েছে এবং এখন পর্যন্ত কোনও সমস্যা নেই (এক্সকোড ৪.২-এ মাইগ্রেশন সহকারী ব্যতীত)। আপনি যদি কোনও নতুন প্রকল্প শুরু করেন তবে এটির জন্য যান।


2

আমি এটি বেশ কয়েকটি (স্বীকারোক্তিকভাবে ছোট) প্রকল্পগুলিতে ব্যবহার করেছি এবং আমার পারফরম্যান্স- এবং নির্ভরযোগ্যতা উভয়ই ভাল অভিজ্ঞতা রয়েছে।

সাবধানতার একটি ছোট্ট নোট হ'ল আপনার করণীয়গুলি শিখতে হবে: গুলি এবং করবেন না: আপনি নিজের ইউআই কোড করে দিচ্ছেন যদি কোনও রেফারেন্স লুপ না ঘটে তবে ডিজাইনার এটির একটি ভাল কাজ করার প্রবণতা রাখে আপনি যদি এটি ব্যবহার করে আপনার জিইউআই সেট আপ করেন তবে স্বয়ংক্রিয়ভাবে


2

আমি কেবলমাত্র বিরূপ প্রতিক্রিয়া হ'ল যদি আপনি প্রচুর কোরফাউন্ডেশন ফাংশন এবং ডেটা সহ একটি লাইব্রেরি ব্যবহার করেন। এমআরসি-তে আপনার CFStringRefপরিবর্তে একটি ব্যবহারের বিষয়ে চিন্তা করার দরকার পড়েনি NSString*। এআরসি-তে, আপনাকে উল্লেখ করতে হবে যে কীভাবে দুটি ইন্টারেক্ট হয় (বেসিক ব্রিজ? কোরফাউন্ডেশন অবজেক্টটি ছেড়ে দেয় এবং এআরসি তে নিয়ে যায়? কোকো অবজেক্টটিকে +1 কোরফাউন্ডেশন রক্ষিত অবজেক্ট হিসাবে তৈরি করতে পারে?) এছাড়াও, ওএস এক্স-এ এটি কেবলমাত্র 64- এ উপলব্ধ বিট কোড (যদিও আমার কাছে একটি শিরোনাম রয়েছে যা এর চারপাশে কাজ করে…)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.