সিজি সাইজ অবজেক্টের মান কীভাবে প্রিন্ট বা লগ ইন করবেন?


88

আমি সিজি সাইজ অবজেক্টের মানটি লগ (প্রিন্ট) করার চেষ্টা করছিলাম:

CGSize sizeOfTab = CGSizeMake(self.frame.size.width/tabCount, 49);

NSLog(@"size of tab is %@",sizeOfTab);

এই কোডটিতে কিছু ভুল আছে কি না; নিয়ন্ত্রণটি এনএসলোগের বিবৃতিতে আসার সাথে সাথে আমার অ্যাপটি ক্রাশ হচ্ছে।

ধন্যবাদ প্রসাদ


4
NSStringFromCGSize () এবং এছাড়াও NSStringFromCGRect ()
ফ্যাটি

উত্তর:


55

আপনি যে মানটি পরে আছেন তা মুদ্রণ করতে আপনি নিম্নলিখিতগুলিতে কল করতে পারেন:

NSLog(@"width = %f, height = %f", mySize.width, mySize.height);

218

এটা চেষ্টা কর

CGSize sizeOfTab = CGSizeMake(self.frame.size.width/tabCount, 49);
NSLog(@"size of tab is %@",NSStringFromCGSize(sizeOfTab));

ফরম্যাটে sizeOfTabনা থাকায় ক্রাশটি ঘটে NSString


4
শীতল এটি আজ আমি নতুন কিছু শিখেছি। +1, তবে আমি আমার উত্তরটি মুছতে চাই না :- পি।
প্রবীণ এস

@ প্রবীণ: ধন্যবাদ .. খুশী হলাম আজ আপনাকে নতুন কিছু শিখতে সাহায্য করলাম ... স্রেফ অনুগ্রহ ফিরিয়ে দিচ্ছি। আমি এসও এর মাধ্যমে এ জাতীয় তথ্য প্রাপ্তির পরেও ছিলাম এবং এখনও রয়েছি।
ভিসাখ

4
@ K কেভি The ক্র্যাশ ঘটে কারণ sizeOfTabকোনও বস্তু নয় (কোনও বস্তু কেবল একটি নয়, কাজ করবে NSString)। CGSizeএকটি কাঠামো।
আলবার্টামগ

ধন্যবাদ এটির কাজ ঠিকঠাক, তবে এটি প্রদর্শিত ing নান, 49}, নান কী?
প্রসাদ

@ প্রসাদ: নান আমার মনে হয় নট নং সংখ্যা। ট্যাবকাউন্ট কী? লগিংয়ের চেষ্টা করুনself.frame.size.width/tabCount
52-

11

জো ব্লো যেমন উল্লেখ করেছেন ( আমি এই উত্তরটি টাইপ করে ফর্ম্যাট করার পরে লক্ষ্য করেছি ), কোনও বস্তু থেকে কাঠামো তৈরি করার জন্য NSStringFromCGSize(), সুন্দর মুদ্রণের জন্য এবং এর বিপরীতমুখী, ইউআইকিট ফাংশনটিও রয়েছে ।CGSizeFromString()CGSizeNSString

অ্যাপল নীচের হিসাবে stringপ্যারামিটার নথি করে:CGSizeFromString(string)

একটি স্ট্রিং যার বিষয়বস্তু "{ w , h }" ফর্মের , যেখানে w প্রস্থ এবং h উচ্চতা। W এবং মান পূর্ণসংখ্যা বা ভাসা মান হতে পারে। বৈধ স্ট্রিংয়ের একটি উদাহরণ হ'ল @ "{3.0,2.5।"। স্ট্রিংটি স্থানীয়করণ করা হয়নি, তাই আইটেমগুলি সর্বদা কমা দিয়ে পৃথক করা হয়।


উদাহরণ

CGSize size = CGSizeFromString(@"{320,568}");
NSLog(@"Pretty printed size: %@", NSStringFromCGSize(size));

আউটপুট

Pretty printed size: {320, 568}

অন্যান্য দরকারী কার্যাদি ( সিজিওমিট্রি রেফারেন্স )

  • সিজিআরেক্টগেটহাইট ()
  • সিজিআরেক্টগেটউইথ ()

6

% @ এর অর্থ আপনি একটি স্ট্রিং toোকানোর চেষ্টা করছেন। সিজি সাইজ কোনও স্ট্রিং নয় এবং স্বয়ংক্রিয়ভাবে কোনওটিতে রূপান্তরিত হতে পারে না। এজন্য আপনার অ্যাপ ক্র্যাশ হয়ে গেছে। পরিবর্তে, আপনার পৃথক বৈশিষ্ট্য পৃথকভাবে লগ করতে হবে, পছন্দ

NSLog(@"width is %f, height is %f.", sizeOfTab.width, sizeOfTab.height);

% f টি ব্যবহৃত হয় কারণ প্রস্থ এবং উচ্চতার বৈশিষ্ট্যগুলি ভাসমান ধরণের ।

অন্যান্য বিন্যাস রূপান্তরের জন্য, দস্তাবেজ দেখুন: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html


তাই আপনাকে স্বাগতম। বিস্তারিত উত্তরের জন্য +1।
প্রবীণ এস

ধন্যবাদ আমার চারপাশে এক নজর ছিল এবং এটি দেখার জন্য আশ্চর্যজনক যে কত লোক কখনই কোনও প্রশ্ন জিজ্ঞাসার আগে ডক্সের দিকে তাকাতে বিরক্ত করে না। আমি লিংক সেখানে রাখা তাই আমরা আরেকটি প্রশ্ন কিভাবে একটি প্রিন্ট করতে জিজ্ঞাসা পাবেন না int- এ
গ্রেগ

3

CGSizeমেমবারের প্রস্থ এবং উচ্চতা রয়েছে যা প্রকারের CGFloat। আপনি নিম্নলিখিত ব্যবহার করে এগুলি মুদ্রণ করতে পারেন

NSLog(@"Width = %f, height = %f",sizeOfTab.width, sizeofTab.height);

3

এখানে স্ব.ভিউ হচ্ছে ইউআইভিউ ক্লাসের দৃশ্য। আপনি এই লগ দিয়ে যে কোনও ফ্রেম মুদ্রণ করতে পারেন।

      NSLog(@"self.view.Frame=%@", NSStringFromCGRect(self.view.frame));
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.