কীভাবে একজন ডেটাটাইপে রূপান্তর NSInteger
করতে পারে NSString
?
আমি নিম্নলিখিতটি চেষ্টা করেছিলাম, যেখানে মাসটি একটি NSInteger
:
NSString *inStr = [NSString stringWithFormat:@"%d", [month intValue]];
কীভাবে একজন ডেটাটাইপে রূপান্তর NSInteger
করতে পারে NSString
?
আমি নিম্নলিখিতটি চেষ্টা করেছিলাম, যেখানে মাসটি একটি NSInteger
:
NSString *inStr = [NSString stringWithFormat:@"%d", [month intValue]];
উত্তর:
এনএসআইন্টিজার্স বস্তু নয়, আপনি long
বর্তমান definition৪-বিট আর্কিটেকচারের সংজ্ঞাটির সাথে মেলে যাতে তাদের এটিকে কাস্ট করেন :
NSString *inStr = [NSString stringWithFormat: @"%ld", (long)month];
[@(integerValue) stringValue]
একটি পরিষ্কার পদ্ধতির হয়।
ওবজে-সি উপায় =):
NSString *inStr = [@(month) stringValue];
একটি একটি NSInteger
পদ্ধতি আছে stringValue
যা এমনকি আক্ষরিক সহ ব্যবহার করা যেতে পারে
NSString *integerAsString1 = [@12 stringValue];
NSInteger number = 13;
NSString *integerAsString2 = [@(number) stringValue];
খুব সহজ. তাই না?
var integerAsString = String(integer)
%zd
%tu
32-বিট এবং 64-বিট উভয় আর্কিটেকচারের জন্য কোনও ক্যাসেট এবং কোনও সতর্কতা ছাড়াই এনএসআইন্টিজারদের জন্য (এনএসইউইন্টিজারের জন্য) কাজ করে । কেন এটি " প্রস্তাবিত উপায় " নয় তা আমার কোনও ধারণা নেই ।
NSString *string = [NSString stringWithFormat:@"%zd", month];
আপনি যদি আগ্রহী হন তবে কেন এটি কাজ করে এই প্রশ্নটি ।
করার সহজ উপায়:
NSInteger value = x;
NSString *string = [@(value) stringValue];
এখানে @(value)
প্রদত্ত NSInteger
কোনও NSNumber
বস্তুকে রূপান্তর করে যার জন্য আপনি প্রয়োজনীয় ফাংশনটি কল করতে পারেন stringValue
,।
এর জন্য সহায়তার সাথে সংকলন করার সময় arm64
, এটি কোনও সতর্কতা তৈরি করে না:
[NSString stringWithFormat:@"%lu", (unsigned long)myNSUInteger];
আপনিও চেষ্টা করতে পারেন:
NSInteger month = 1;
NSString *inStr = [NSString stringWithFormat: @"%ld", month];
এক্ষেত্রে NSNumber আপনার পক্ষে ভাল হতে পারে।
NSString *inStr = [NSString stringWithFormat:@"%d",
[NSNumber numberWithInteger:[month intValue]]];
Format specifies type 'int' but the argument has type 'NSInteger *'(aka 'int *')
। অ্যাপল ডক্স অনুযায়ী পরিবর্তে , আমি সাথে ছিলNSString *inStr = [NSString stringWithFormat:@"%d", (int)month];