সুইফ্ট এক্সকোড সূচক হিমশীতল বা ধীর


101

সম্ভবত এটি কেবল আমার যেমন বিরক্তিকর "বৈশিষ্ট্য" অনুভব করছেন:

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

আমি এখন পর্যন্ত কি সমাধান চেষ্টা করেছি:

  1. অর্গানাইজারে "উত্পন্ন ডেটা" মুছে ফেলা হচ্ছে, এবং পুনরায় খোলা এবং কর্মক্ষেত্র। (ঠিক করতে ব্যর্থ)
  2. .Xcodeproj ফাইলে "প্যাকেজ বিষয়বস্তুগুলি দেখান" এবং .xcworkspace এটিকে মোছা (এক্সকোড 4 - ধীর পারফরম্যান্স )

দুর্ভাগ্যক্রমে তাদের কেউই কাজ করেনি।

PS কি আমার আবার প্রকল্পটি তৈরি করার চেষ্টা করা উচিত? আমার কম্পিউটার সেটিংস: ম্যাকবুক প্রো (রেটিনা, 13 ইঞ্চি, মধ্য 2014), মেমোরি 8 জিবি 1600 মেগাহার্টজ ডিডিআর 3, ইয়োসেমাইট সহ। (আমি মনে করি এটি এই ছোট প্রকল্পটি চালানোর জন্য যথেষ্ট))


অনুরূপ expierences? হ্যাঁ:
এক্সকোড

2
আমি বেশি সাহায্য পাব না তবে আমি যা করি তা হ'ল ... আমি মাত্র xcode 6.x কে সময় নিতে দিই। যদি আমি এটির সাথে লড়াই করি তবে এটি আমাকে বড় সময় ধরে স্ক্রু করে দেয় তাই আমি কেবল xcode 6 শুরু হওয়া পর্যন্ত অপেক্ষা করি। আমি এটি বোকা সূচক চালাতে দিন। আমি তখন আলাদাভাবে আইওএস সিমুলেটর শুরু করি এবং এটি নির্বোধ স্প্রিংবোর্ডটি প্রদর্শিত না হওয়া পর্যন্ত অপেক্ষা করি। অবশেষে যখন আমি কোনও প্রকল্প পরিচালনা করি, তখন আমি এই বিষয়টিকে উপেক্ষা করি যে ইনডেক্সিং অনেক সময় "বিরামিত" বলে এবং আমি <# GodObject #> এর কাছে প্রার্থনা করি, কফি পান করি এবং জেন মোডে প্রবেশ করার চেষ্টা করি। তবে * দীর্ঘশ্বাস *, এটি মোটামুটি: / এবং আমি xcode 5.1.1: সত্যই পছন্দ করেছি |
স্ট্যাটিকভিডম্যান

এই উত্তর আমার জন্য কাজ stackoverflow.com/a/33395844/242933
ma11hew28

উত্তর:


72

আমি উপরের পরামর্শগুলির অনেকগুলি চেষ্টা করে ফাইলগুলি বিভক্ত করা, এক্সকোড 6.2 বিটা ইনস্টল করা, এবং স্ট্রিং কনক্যাটেনশন স্টেটমেন্টগুলি ভঙ্গ করেছি। পরিশেষে এটি আমার জন্য কী করেছিল তা হল একাধিক .appendবিবৃতিতে পরীক্ষার ডেটা ব্যবহার করার জন্য অভিধানের আক্ষরিক ঘোষণার একটি অ্যারে বিভক্ত করা হয়েছিল ।

// This causes indexing/building to hang...
var test = [ [ "a": false, "b": "c" ],
             [ "a": false, "b": "c" ],
             [ "a": false, "b": "c" ],
             [ "a": false, "b": "c" ],
             [ "a": false, "b": "c" ],
             [ "a": false, "b": "c" ] ]

// This works fine.
var test = [ [ "a": false, "b": "c" ] ]
test.append([ "a": false, "b": "c" ])
test.append([ "a": false, "b": "c" ])
test.append([ "a": false, "b": "c" ])
test.append([ "a": false, "b": "c" ])
test.append([ "a": false, "b": "c" ])

এছাড়াও, এটির মূল্য কী, এই অ্যারেতে 6th ষ্ঠ প্রবেশ এটিই আমার জন্য সমস্যাটির কারণ; পাঁচটি ঠিক কাজ করে।


একই সমাধান আমার জন্য অভিধান নিয়ে কাজ করেছে। এটি সূচনা করে সরাসরি চিরকাল চলমান সূচক তৈরি করে। init()ধাপে ধাপে এটি সূচনা নিখুঁতভাবে কাজ করে। আমি .xcworkspaceফাইলটিও মুছতে হয়েছিল তা উল্লেখযোগ্য ।
jboi

কোনও অভিধান জড়িত না করে এটি আমার জন্য স্থির করে। ঘোষণায় 8 টি উপাদানের সাথে সূক্ষ্ম ছিল এমন টিউপলের একটি অ্যারে। 11 টি উপাদান সহ পরিশিষ্টগুলিতে ফিরে যেতে হয়েছিল। সঠিক ব্রেকিং পয়েন্টটি খুঁজে পেতে বিরক্ত করেননি তবে 10x দ্রুত তৈরি করে। ম্যাভেরিক্সে এক্সকোড সংস্করণ 6.1.1 (6A2008a)।
জোশ

আমি ঠিক ঠিক 6 উপাদান দিয়ে সমস্যাটিকে আঘাত করেছি। 5 ভাল ছিল।
জাস্টিন লাউ

এটি কি এক্সকোড সমস্যা বা সংকলক সমস্যা?
স্লজাক্স

4
আমি এটি 229 আইটেমের অ্যারে আক্ষরিক সহ এক্সকোড 7.3 এ অনুভব করেছি। এটি ভেঙে ফেলার পরিবর্তে, আমি সুইফটকে ধরণের অনুমান করার পরিবর্তে একটি প্রকারের ঘোষণা যুক্ত করেছি। আমি এটা করার পরে, এটি কাজ করে।
ব্রিগহাম

34

আমার জন্য একমাত্র কার্যক্ষম সমাধান হ'ল সমস্ত উত্সযুক্ত ডেটা মুছে ফেলা (কেবলমাত্র বর্তমান প্রকল্পের জন্য নয়, কেবল পুরো ফোল্ডারটি পরিষ্কার করুন) এবং তারপরে এক্সকোড পুনরায় চালু করা।

  1. এক্সকোডে ফাইল / পছন্দসমূহ খুলুন

  2. পপ আপ উইন্ডোর ডানদিকে অবস্থানে অবস্থানে ক্লিক করুন

  3. "/ ব্যবহারকারীর / ম্যাচ / লাইব্রেরি / ডেভেলপার / এক্সকোড / ডেরিভডডাটা" এর পাশের ছোট্ট তীর আইকনে ক্লিক করুন আপনাকে একটি এক্সকোড ফোল্ডারে নিয়ে যাবে যেখানে একটি ডেরিভেডডাটা ফোল্ডার রয়েছে (এতে আপনার পূর্ববর্তী প্রকল্পগুলি থেকে প্রাপ্ত সমস্ত ডেটা রয়েছে ।)

  4. ডেরিভডডেটা ফোল্ডারটি মুছুন


1
@TravisM। আপনি কি পদক্ষেপগুলি অনুসরণ করেছিলেন? আপনি যদি উইন্ডো, সংগঠক, প্রকল্পগুলি, ডেরিভড ডেটা মুছতে যান তবে এটি কার্যকর হবে না। আপনার পছন্দগুলি মাধ্যমে যেতে হবে।
এরিকগু

@ মেরিকগ হ্যাঁ, তবে এটি কার্যকর হয়নি didn't আমি আমার সমস্যাটি সমাধান করেছি, যদিও এটি আমার সাথে একটি শটে হার্ডকোডড ডেটা দিয়ে অভিধান শুরু করার সাথে সম্পর্কিত ছিল। আমি একবারে হার্ডকোডযুক্ত ডেটা এক সারি যুক্ত করার জন্য কোডটি সরানো হলে হিমশীতল / ধীর সমস্যাগুলি ততক্ষণে অদৃশ্য হয়ে যায়।
ট্র্যাভিস এম।

আমার মেশিনে ~ / লাইব্রেরি / বিকাশকারী / এক্সকোড / ডেরিভডটা / এ ফোল্ডার আপনি এক্সকোডে উইন্ডো> প্রকল্পগুলিতে গিয়ে এটি সন্ধান করতে পারেন।
সুরগাচ

ধন্যবাদ। এটি সাহায্য করে। আমি আমার কোকোপোড সংস্করণ আপডেট করে এবং একটি পড ইনস্টল চালিয়ে যাওয়ার পরে "চিরতরে ইনডেক্সিং" সমস্যাটি শুরু হয়।
WKL

11

আপনি কি কোকোপড ব্যবহার করছেন? আমি আজ আগে খুব একই সমস্যা জুড়ে দৌড়েছি। (এক্সকোড 6.1.1 ব্যবহার করে)

সমস্যা সমাধান করতে, আমি সবকিছু মুছে ~/Library/Developer/Xcode/DerivedData, Podsআমার প্রকল্প ডিরেক্টরির মধ্যে ফোল্ডার এবং <project>.xcworkspace

আমি তারপরে টার্মিনালটি খুললাম, আমার প্রকল্প ডিরেক্টরিতে নেভিগেট করে pod installআবার দৌড়ালাম ।


1
হ্যাঁ আমি কি. আপাতত এক্সকোড ঠিকঠাক আচরণ করছে। তবে এটি সময়ে সময়ে সোর্সকিট ক্র্যাশ ত্রুটি দেয়। আমার সমাধান হ'ল উদ্ভূত ডেটা ফোল্ডারটি মুছে ফেলা।
লিওনার্ড

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

1
পডস ফোল্ডার এবং <প্রকল্প> .xcworkspace ফাইল মুছে ফেলা হচ্ছে, এবং তারপরে পড ইনস্টল চালানো আবার কাজ করেছে।
কেএমএল

9

আজ একই সমস্যা ছিল। এক্সকোড 6.3.2, মাঝারি আকারের সুইফট প্রকল্প। এক পর্যায়ে এটি সূচীকরণ শুরু করে এবং এটি কখনই সূচিকাগুলি শেষ করে না। যে কারণে কোডটি সৃষ্টি হয়েছিল তা হ'ল ড্রেসিংয়ের একটি শব্দ [স্ট্রিং: [স্ট্রিং]], সুতরাং স্ট্রিং-কি ডিক স্ট্রিং অ্যারে সহ মান হিসাবে। আমার এগুলির দুটি এ থেকে জেড পর্যন্ত কীগুলির সাথে ছিল এবং এই 26 টি এন্ট্রির প্রত্যেকটিতে 5 থেকে 10 টি স্ট্রিং সহ স্ট্রিং অ্যারে থাকে।

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

সত্যি, এটি হাস্যকর! অ্যাপলকে এক্সকোড ঠিক করতে হবে! সুইফট প্রকল্পগুলি সংকলন করার সময় এটি ইতিমধ্যে মারাত্মকভাবে ধীর হয় তবে এর মতো বাগগুলি শোস্টোপার। আমি এই দিয়ে আমার কাজটি সঠিকভাবে করতে পারি না!


6

যারা এখনও এই সমস্যাটি নিয়ে আছেন তাদের জন্য, এটি আমি উপভোগ করতে এসেছি এমন এক কার্যকারিতা যা আপনাকে একের পর এক সামগ্রীতে প্রবেশ করতে বাধা দেয়:

// instead of this, which freezes indexing
let keys = [keyQ, keyW, keyE, keyR, keyT, keyY, ... keyM]    

// and instead of this, which is ugly & lengthy
var keys = [KeyboardKey]()
keys.append(keyQ)
keys.append(keyW)
...
keys.append(keyM)

// use this:
var keys = [KeyboardKey]()
keys.appendContentsOf([keyQ, keyW, keyE, keyR, keyT, keyY, ... keyM])

1
বাহ ... আমি ঠিক একই সমস্যা ছিল। ধন্যবাদ! আমি এটি অ্যাপলের কাছে বাগ হিসাবে রিপোর্ট করেছি। আপনি যা বলেছিলেন তা করা আমার পক্ষে কার্যকর হয়নি। পাঁচ বা তারও কম উপাদান সহ আমাকে ছোট অ্যারেতে আমার দীর্ঘ অ্যারেটি ভেঙে ফেলতে হয়েছিল।
ma11hew28

5

আমার জন্য, আমি কোনও সাফল্য ছাড়াই উপরোক্ত সমস্ত চেষ্টা করেছি; তবে আমাকে যা করতে হয়েছিল তা হ'ল উদ্ভূত ডেটা ফোল্ডারটি মুছে ফেলা, তারপরে আরেকটি এলোমেলো প্রকল্প খুলুন, তার সূচীতে অপেক্ষা করুন এবং এখন আমার আসল (ত্রুটিযুক্ত) প্রকল্প কাজ করবে!

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


3

আমি এক্সকোড সংস্করণ 7.3 (7D175) ব্যবহার করছি

আমি মনে করি আমি অন্তর্নিহিত সমস্যাটি বের করতে পেরেছি। সেখানে দুটি উদাহরণ যেখানে আমি সূচীকরণের পর্যায়ে আটকা পড়েছিলাম:

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

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

মনে হচ্ছে এটি পূর্ববর্তী ব্যক্তিরা দ্বারা বর্ণিত অভিধানের ঘোষণার সাথে একই চলছে। আমি আপেল দিয়ে একটি বাগ রিপোর্ট দায়ের করেছি।


2

6.1 এ আপগ্রেড করার পরে আমি এই একই সমস্যাটি অনুভব করেছি। এক্সকোড একটি নির্দিষ্ট ত্রুটি বার্তা উত্পন্ন না করে সংকলন বা সূচি আটকে যাবে।

সুইফট ফাইলগুলিতে একাধিক সংক্ষিপ্ত এক্সপ্রেশনগুলিতে কিছু দীর্ঘ এক্সপ্রেশনকে ভেঙে শেষ পর্যন্ত সমস্যাটি সমাধান করা হয়েছিল। আমার প্রোগ্রামের অংশটি অনেকগুলি স্ট্রিং ভেরিয়েবলকে একত্রিত করে একটি দীর্ঘ স্ট্রিং তৈরি করে। এগুলিকে একক অভিব্যক্তিতে সংযুক্ত করার চেষ্টা এবং সংযোজন অ্যাসাইনমেন্ট অপারেটর উভয়ই ব্যর্থ হয়েছে। আমি নিম্নলিখিত (সরলীকৃত) এর মতো কিছু করে কাজ করে এটি সক্ষম করতে সক্ষম হয়েছি:

var a = "Hello"
var b = " "
var c = "World"
var d = "!"
var partA = a + b
var partB = c + d
var result = partA + partB

পূর্ববর্তী এক্সকোড সংস্করণে নিম্নলিখিত ত্রুটিটি অনেক বার পেয়ে আমি এই ধারণাটি পেয়েছি "এক্সপ্রেশনটি যুক্তিসঙ্গত সময়ে সমাধান করা খুব জটিল ছিল; এক্সপ্রেশনটি আলাদা উপ-এক্সপ্রেশনে ভাঙ্গার কথা বিবেচনা করুন।"

আশাকরি এটা সাহায্য করবে


হ্যাঁ ধন্যবাদ, আমি আসলে এই ধরণের পরামর্শ নিয়েছি। এবং আমি আমার এক ফাইলের দৈর্ঘ্য 1500 লাইন থেকে প্রায় 1200 পর্যন্ত সঙ্কুচিত করেছি And এবং অবশ্যই আমি একটি নতুন প্রকল্প তৈরি করেছি এবং সমস্ত ফাইল একে একে একে আমদানি করেছি। তারপরে অবশেষে এটি আবার ফিরে আসে। কোনটি চূড়ান্ত ত্রাণকর্তা তা সত্যই নিশ্চিত নয়।
লেওনার্ড

সুইফটে দীর্ঘ অভিব্যক্তি বিভক্ত করা আমার পক্ষে কৌশলটি করেছে।
মান্ডিসাডাব্লু

2

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

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

আমার উপসংহারটি হ'ল এটি এক্সকোড সংস্করণ 6.1 (6A1052 ডি) সহ একটি বাগ যা আমি আশা করি ভবিষ্যতে প্রকাশের সাথে উন্নত হবে।

সমস্যাটি একবারে একবারে ফিরে আসে, প্রতিবার একই ফিক্স কাজ করে। আমার ধারণা অন্য সমাধানটি কেবল পুরানো এক্সকোড সংস্করণ 6.1 (6A1030) এর সাথে লেগে থাকবে তবে এটি আইওএস 8.1 চালিত ডিভাইসগুলির সাথে কাজ করবে না এবং এটিতে সর্বশেষতম বাগ সংশোধন হবে না।


চিরস্থায়ী সূচক ইস্যু সমাধানের জন্য আমি প্রায় পরামর্শগুলির বেশিরভাগ চেষ্টা করেছি এবং এটিই ছিল আমার পক্ষে কাজ করে। আমার কাছে পুরানো এক্সকোড 6 ছিল না তবে আমার কাছে এক্সকোড 5 ছিল It এটি তৈরি করবে না তবে এটি সূচী করেছিল এবং এর পরে এক্সকোড 6.1 এর পরে সফলভাবে সূচিকর্ম হয়েছে।
সারাহআর

আমি উল্লেখ করতে ভুলে গেছি যে এটি কেবল একটি অস্থায়ী সমাধান ছিল এবং কয়েক ঘন্টা পরে আমাকে আবার এটি করতে হয়েছিল।
সারাহআর

2

আমি এটি Xcode 8.3.3 দিয়ে চেষ্টা করেছি। আমার ফলাফলগুলি এখানে:

আপনি পুরোপুরি সূক্ষ্ম সুইফট কোড লিখতে পারেন যা সূচকে হ্যাং হওয়ার কারণ হবে।

একবার সূচক হ্যাং হয়ে গেলে, এটি স্তব্ধ হয়ে যায়। সুইফট কোডটি এমন কোনও কিছুতে পরিবর্তন করা যার ফলে ইনডেক্সকে হ্যাং করতে না পারে, এটি এখনও স্তব্ধ।

প্রকল্পটি বন্ধ করা এবং পুনরায় খোলানো সেই পরিস্থিতিতে সহায়তা করে না।

এক্সকোড ছেড়ে যাওয়া এবং এটি পুনরায় চালু করা সহায়তা করে। সূচীকরণ আর হ্যাং করবে না (এটি হ'ল যদি আপনি কোডটি এমন কোনও কিছুতে পরিবর্তন করেন যা এটি স্তব্ধ করে না)।

আপনার ম্যাকটি পুনরায় চালু করাও সহায়তা করে, যদিও এটির প্রয়োজন নেই।

হ্যাঙ্গিং পুরোপুরি সূক্ষ্ম সুইফ্ট কোডের কারণে ঘটে। আমি যেমন দেখেছি একটি উদাহরণ

if let date = function1()
?? function2()
?? function3()
?? function4()
?? function5()
?? function6()
?? function7()
?? function8()
?? function9()
?? function10() {
    return date
}

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

আপত্তিজনকভাবে আপনার কোডটি পরিবর্তন করতে সহায়তা করে।


2

আমার এক্সকোডে সমাধানটি ছিল সমস্ত অনর্থক উইন্ডো বন্ধ করে দেওয়া। কোনও কারণে অনেকগুলি খোলা উইন্ডো এক্সকোডকে খুব ধীর করে তোলে।


আমার জন্য এটিও সমাধান ছিল, অবাক করার মতো কারণ এটি দীর্ঘ সময় ধরে একই সংখ্যক খোলা উইন্ডো নিয়ে ভালভাবে কাজ করেছে
খ্রিস্টান

1

অবশেষে, আমি সমস্যাটি "সমাধান" করেছি, যদিও এটি কেবল একটি কর্মক্ষেত্র।

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

এখন জন্য, আমি এটি "সমাধান" আছে।

কিন্তু, আমি মনে করি এটি সঠিক নয়। এক্সকোড আইডিই আমার "খুব দীর্ঘ" সুইফট ফাইলটি পরিচালনা করতে সক্ষম হওয়ার চেয়ে বেশি হওয়া উচিত, কেবল 1500 লাইন। আমি বিশ্বাস করি এটি অবশ্যই একটি বাগ (দীর্ঘ সময়ের জন্য বিদ্যমান), যদিও Xcode 6.1 ইতিমধ্যে Xcode 6.0.1 থেকে আপগ্রেড।


1

আমার জন্য, আমি এক্সকোড অ্যাপ্লিকেশনটি মুছলাম এবং আবার এটি ডাউনলোড করে ইনস্টল করেছি। এটি সমস্যাটি সমাধান করেছে, কমপক্ষে এখনই।


1

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


Com.apple.dt.XCode IDEIndexDisable 1 ইনডেক্সিং ডিফল্ট লিখুন বন্ধ করুন 1 ইনডেক্সিং ডিফল্টগুলি com.apple.dt.X কোড কোড IDEIndexDisable 0 চালু করুন

তবে ভাল র‌্যাম সহ একটি দ্রুত ম্যাক ব্যবহার করার জন্য আরও ভাল পদ্ধতির।


2
ইনডেক্সিং বন্ধ করে গুরুতরভাবে এক্সকোডকে পঙ্গু করে এবং করা উচিত নয়। কাউকে নতুন ম্যাক কেনার কথা বলার উত্তর কখনই পাওয়া উচিত নয়, একটি 2 বছরের পুরানো ল্যাপটপ সর্বশেষতম এক্সকোড পরিচালনা করতে সক্ষম হওয়া উচিত।
নাইট0ফ্রেড্রাগন

ম্যাকোস 10.13 বিটা 7 সূচকটি চালানোর সাথে সাথে এক্সকোড 9 বিটা 6 এবং এক্সকোড 8 উভয়কেই ক্র্যাশ করে এমন কিছু প্রবর্তন করেছে। এটি বন্ধ করে দেওয়া, এক বিকল সংস্করণ সহ এমনকি এক্সকোড ব্যবহার চালিয়ে যাওয়া একমাত্র উপায়।
পেগলন

0

যদি আপনি 6.0.1 এ ফিরে না ফেরাতে আপত্তি না করেন যতক্ষণ না তারা এটিকে বের করে দেয়, এটিই আমার পক্ষে কাজ করেছিল। আমি 6.1 এবং 6.1.1 উভয়ই একই সমস্যা ছিল। এখন আমি ভাল আছি আমি 6.2 চেষ্টা করব যখন এটি প্রকাশিত হবে।

আপনি তাদের অফিসিয়াল দেব সাইটে অ্যাপল সফ্টওয়্যারগুলির পূর্ববর্তী সংস্করণগুলি এখানে পেতে পারেন: https://developer.apple.com/downloads/index.action

আপনি যদি এটি করেন তবে প্রথমে আপনার এক্সকোডের বর্তমান কপিটি মুছে ফেলার বিষয়টি নিশ্চিত করুন।


0

আমি একই সঠিক ম্যাকবুক প্রোতে সুইফট ফাইলগুলির সাথে এক্সকোড 6.1.1 ব্যবহার করছি।

আমি যেমন একটি 3D স্ট্রিং অ্যারে সারি যুক্ত করতে থাকি, এক্সকোড হঠাৎ করেই অকেজো হয়ে যায় এবং এখন আমি কিছুই করতে পারি না।

6.1 এ ফিরে যাওয়ার চেষ্টা করবে এবং আশা করি সমস্যাটি চলে যাবে।


আমি একই সমস্যা আছে। অভিধানের একটি অ্যারে যোগ করার পরে এক্সকোড অকেজো হয়ে গেল ... আপনি কি সমাধান খুঁজে পেয়েছেন?
আলমাজিনী

আমি এক্সকোড 6.1 এ ফিরে গিয়েছিলাম যা আরও ভাল কাজ করেছে। এটি চিরকাল সূচকে আটকে যায়নি, তবে কখনও কখনও আমি টাইপ করে সৈকত বলটি 4 সেকেন্ডের জন্য পাইতাম। সামগ্রিকভাবে আমি জিনিসগুলি সম্পন্ন করার জন্য যথেষ্ট কোড করতে সক্ষম হয়েছি। আমি আমার কোনও কোড পরিবর্তন করিনি। যদিও এক্সকোড 6.1 এ ম্যাকবুক প্রোটির ব্যাটারি খুব বেশি প্রভাবিত বলে মনে হচ্ছে না, তবে আমার ম্যাকবুক এয়ার 2013-এর মাঝামাঝি 6.1.1 চলমান, ব্যাটারিটির জীবন একেবারে শট করা হয়েছে। আমি এক্সকোড শুরু করার পরে এটি 12 ডলার থেকে 2 ঘন্টা অবধি যায়।
gardner888

0

আমি এটি এক্সকোড 6.3.2 এ দেখছি। আমি সত্যিই আশা করেছিলাম যে রিলিজের এক বছর পরে তাদের সংকলকটি কাজ করবে তবে হায় হায়।

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

    let hangsInsteadOfError = { l, r in
        return l.nameFirst < r.nameFirst
        || l.nameFirst == r.nameFirst && l.nameLast < r.nameLast }

    let fixingErrorAvoidsHang = { (l:User, r:User) -> Bool in
        return l.nameFirst < r.nameFirst
            || l.nameFirst == r.nameFirst && l.nameLast < r.nameLast }

আমি যদি সুইফটে কাজ করা থেকে কিছু শিখেছি তবে তা ক্রমান্বয়ে কাজ করা, আপত্তিজনক কোডটি খুঁজে পেতে খুব বেশি ব্যাকট্র্যাক করা এড়ানো উচিত।


0
  1. আপনার সূচকের স্থিতি কি "সূচক বৃত্ত" বা "অগ্রগতি বার"?
  2. যদি এটি একটি "সূচক বৃত্ত" হয়, তার অর্থ এটি শুরুতে ইতিমধ্যে আটকে গেছে।
  3. আপনার অন্যান্য প্রকল্পগুলি যদি একই রকম হয় তবে এটি খুলুন এবং পরীক্ষা করুন, এর অর্থ এটি কোনও সিস্টেম সমস্যা।
  4. আপনার কম্পিউটারটি পুনরায় চালু করুন এবং সবকিছু ঠিক হয়ে যাবে।

0

আমি এক্সকোড ৮.২ ব্যবহার করি এবং এই সমস্যাটি শেষ হয়ে যায়। আমি একটি জটিল টিউপল ভেরিয়েবল সংজ্ঞায়িত করার পরে এটি শুরু হয়েছিল - টিউপলের সাববারির সাথে টিপলের একটি অ্যারে। যখন টিপলের সাবহারে এমন একটি সম্পত্তি থাকে যা প্রোগ্রামগতভাবে গণনা করা হয় তখন বিষয়গুলি সত্যই ধীর হয় get

অন্য কিছু উত্তর উল্লিখিত হিসাবে, সূচকটি চিরকালের জন্য নেয় এবং আমি বিশ্বাস করি যে এটি পরিবর্তনশীল প্রকারগুলি নির্ধারণের চেষ্টা করছে।

আমি স্পষ্টত অন্তর্ভুক্ত প্রকারের সাথে ভেরিয়েবলের সংজ্ঞা দিয়ে সমস্যার সমাধান করেছি। সম্পত্তি আপডেট করার সময়, আমি প্রথমে এটি গণনা করি তারপরে ভেরিয়েবল সংজ্ঞায়নে গণনার পরিবর্তে এটি টিউপলকে বরাদ্দ করি।

এখানে একটি উদাহরণ কোড।

var sectionTuples: [(section: String, rows: [(name: String, subtitle: String)])] = []
let subtitle1: String = "" // something calculated dynamically
let subtitle2: String = "" // something calculated dynamically
sectionTuples = [(
section: "Section 1", rows: [
(name: "name1", subtitle: subtitle1),
(name: "name2", subtitle: subtitle2)
])]

নীচের লাইনটি হ'ল এক্সকোড জটিল কাঠামোকে অনুমান করতে দেয় না।


0

আমি একই সমস্যা ছিল। আমার এক্সকোডটি 8.2.1। তবে আমার ক্ষেত্রে, আমি ৩৩ টি মূল-মান জোড়া দিয়ে অভিধানের একটি অ্যারে তৈরি করতে চেয়েছিলাম। আমি নিম্নলিখিত পদ্ধতিতে যা করছিলাম যা সূচকে আটকে ছিল:

var parameter = [String : AnyObject]()
var finalArray = [parameter]

for item in listArray
{
    parameter = ["A": item.a as AnyObject, "B": item.b as AnyObject, "C": item.c as AnyObject, ... , "Z": item.z as AnyObject]

    finalArray.append(parameter)
}

নিম্নলিখিত আমার জন্য কাজ করেছে:

var parameter = [String: AnyObject]()
var finalArray = [parameter]

for item in listArray
{
    parameter["A"] = listArray.a as AnyObject
    parameter["B"] = listArray.b as AnyObject
    parameter["C"] = listArray.c as AnyObject
    parameter["D"] = listArray.d as AnyObject 
    .
    .
    .
    parameter["Z"] = listArray.z as AnyObject 
    finalArray.append(parameter)
}

0

আমি এই সমস্যাটিও করেছি এবং "+" অপারেটরের সাথে এক্সপ্রেশনগুলি সরিয়ে / পরিবর্তন করে সমাধান করেছি।

আমি এটি পরিবর্তন করেছি:

var mainArray = arrayOne + arrayTwo + arrayThree + arrayFour + arrayFive

এটি:

var mainArray = arrayOne
mainArray += arrayTwo
mainArray += arrayThree
mainArray += arrayFour
mainArray += arrayFive

এটি সমস্যার সমাধান করেছে।

আমার মেশিনটি 2013 সালের শেষের দিকে একটি সর্বাধিক প্রকাশিত এমবিপি


ঠিক আমার অভিজ্ঞতা। এটি পুরোপুরি সূক্ষ্ম সুইফট কোড সহ স্তব্ধ হয়ে গেছে এবং এটির সমাধানের একমাত্র উপায় হ'ল কোডটি পরিবর্তন করা।
gnasher729

0

আপনি এক্সকোড 6.1.1 আপডেট করতে চাইতে পারেন

এটি আনুষ্ঠানিকভাবে প্রকাশিত হয়েছে এবং আমাদের সূচক সমস্যা সমাধান করেছে। আপডেটের বিবরণে এটি বলেছে যে তারা স্থায়িত্বের ফিক্সগুলি প্রয়োগ করেছে সুতরাং এটি সম্ভবত আরও স্থিতিশীল ফ্যাশনে আচরণ করবে very


7
মজাদার. আমার জন্য, 6.1.1 অন্তর্নিহিত সূচক সমস্যাটি প্রবর্তন করেছে, এটি এমন একটি প্রকল্পের সাথে 6.1 সালে জরিমানা খোলা হয়েছিল। সাইন
পাস্কেল বার্ক

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

0

এক্সকোড 6.2 বিটা আমার জন্য সমস্যাটি সমাধান করেছে। বাজ-দ্রুত নয়, তবে কমপক্ষে এটি চিরকালের জন্য সূচীকরণ নয়। বিটা আপনার নিয়মিত এক্সকোড ইনস্টলেশনটির শীর্ষে ইনস্টল করে না , সুতরাং যদি আপনি বিটা পছন্দ না করেন তবে আপনি কেবল এটি মুছতে পারেন।

বিটা সহ বিভিন্ন এক্সকোড ডাউনলোড>


0

আমার মত প্রকাশ ছিল:

let x = (value as? Int) ?? someDefault

এছাড়াও

guard let x = (dateFormatter().string(from: Date()) + msg + "\n").addingPercentEncoding(...) else { ... }

সুতরাং মুল বক্তব্যটি কেবল কিন্ডারগার্টেন স্তরের এক্সপ্রেশন ধারণ করতে আপনার ফাইলটিকে আবার লিখতে হবে এবং ইনডেক্সিং সমস্যাটি চলে যাবে।


0

Xcode 11.5 (11E608c) এবং এখনও একই সমস্যা, মূল প্রশ্নের 6 বছর পরে। আমি আশা করি আমি এই প্রশ্নে অ্যাপলটিকে "চিহ্নিত" করতে পারলাম যাতে তারা এই জগাখিচুড়ি দেখতে পায়। এটি একটি বৃহত প্রকল্প (> 1000 ফাইল) এবং আমি ঘড়ির নীচে ছিলাম তাই যখন আমি জমাটবদ্ধ সূচকটি দেখি যে আমি 100 টিরও বেশি ফাইল পরিবর্তন করেছি এবং ফিরে যেতে পারছি না।

আমি সব চেষ্টা করেছি:

  1. উদ্ভুত ডেটা এবং বিল্ড সাফ করুন
  2. এক্সকোড পুনরায় চালু করুন, ম্যাক পুনরায় আরম্ভ করুন
  3. সরান এবং উত্স যোগ করুন
  4. অভিধানের আক্ষরিক ইত্যাদি ইত্যাদির জন্য অনুসন্ধান করা

সমস্যাটি একটি অ্যারে তৈরি ছিল:

private var overlayColors: [UIColor] = [UIColor(hex: "#b71c1c"), UIColor(hex: "#4a148c"),
                                        UIColor(hex: "#880e4f"), UIColor(hex: "#1de9b6"),
                                        UIColor(hex: "#f50057"), UIColor(hex: "#311b92"),
                                        UIColor(hex: "#f44336"), UIColor(hex: "#651fff"),
                                        UIColor(hex: "#d500f9"), UIColor(hex: "#3d5afe"),
                                        UIColor(hex: "#bf360c"), UIColor(hex: "#0d47a1"),
                                        UIColor(hex: "#006064"), UIColor(hex: "#2979ff"),
                                        UIColor(hex: "#ff6f00"), UIColor(hex: "#1a237e"),
                                        UIColor(hex: "#795548"), UIColor(hex: "#004d40"),
                                        UIColor(hex: "#00e676"), UIColor(hex: "#01579b"),
                                        UIColor(hex: "#33691e"), UIColor(hex: "#827717"),
                                        UIColor(hex: "#76ff03"), UIColor(hex: "#ffc400"),
                                        UIColor(hex: "#e65100"), UIColor(hex: "#00b0ff"),
                                        UIColor(hex: "#ff3d00"), UIColor(hex: "#616161"),
                                        UIColor(hex: "#263238"), UIColor(hex: "#ff1744")]

এক্সকোড হিমশীতল যখন আমি নিম্নলিখিত পদক্ষেপগুলি করলাম তখন আমাকে খারাপ সুইফ্ট ফাইলটি আবিষ্কার করতে কীভাবে সাহায্য করেছিল

  1. ওপেন অ্যাক্টিভিটি মনিটর -> "সুইফ্ট" প্রক্রিয়া -> প্রক্রিয়া সম্পর্কিত তথ্য দেখান -> ফাইল এবং পোর্টগুলি খুলুন। এটি আপনাকে সম্ভাব্য খারাপ ফাইলগুলির তালিকাটি কীভাবে এই প্রক্রিয়াটি চালিত করছে তার একটি তালিকা দেবে
  2. অন্যান্য সহজ সরঞ্জাম এই স্ক্রিপ্ট SOURCEKIT_LOGGING=3 /Applications/Xcode.app/Contents/MacOS/Xcode &> ~/Documents/xcode.log এটি লেভেল 3 ভার্বোজের সাহায্যে এক্সকোড শুরু করবে এবং লগ ফাইলে লগিং শুরু করবে।
  3. লগ ফাইলটিতে আপনার সুইফট ফাইলগুলির জন্য সর্বশেষ এন্ট্রিগুলি অনুসন্ধান করুন: "আমার_প্রজেক্ট / উত্স / অ্যাপ /"

এটি সম্পূর্ণ সমাধান নয় তবে এটি ড্রিল করে কোথায় সন্ধান করতে হবে তা জানতে সহায়ক।

ওপেন অ্যাক্টিভিটি মনিটর -> "সুইফ্ট" প্রক্রিয়া -> প্রক্রিয়া সম্পর্কিত তথ্য দেখান -> ফাইল এবং পোর্টগুলি খুলুন।

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