সেপ্টেম্বর 2016 আপডেট করুন
সুইফট ৩.০: ব্যবহার করুন type(of:)
, যেমন type(of: someThing)
(যেহেতু মূলশব্দটি dynamicType
সরানো হয়েছে)
অক্টোবর 2015 আপডেট করুন :
আমি নীচের উদাহরণগুলিকে নতুন সুইফট ২.০ সিনট্যাক্সে আপডেট করেছি (উদাহরণস্বরূপ println
প্রতিস্থাপন করা হয়েছিল print
, toString()
এখন String()
)।
এক্সকোড 6.3 রিলিজ নোটগুলি থেকে :
@ এনএসচাম মন্তব্যগুলিতে উল্লেখ করেছেন যে এক্সকোড .3.৩ রিলিজ নোটগুলি অন্যভাবে দেখায়:
প্রিন্টলান বা স্ট্রিং ইন্টারপোলেশন ব্যবহার করার সময় টাইপ মানগুলি পুরো ডিমেংলেড টাইপের নাম হিসাবে মুদ্রণ করে।
import Foundation
class PureSwiftClass { }
var myvar0 = NSString() // Objective-C class
var myvar1 = PureSwiftClass()
var myvar2 = 42
var myvar3 = "Hans"
print( "String(myvar0.dynamicType) -> \(myvar0.dynamicType)")
print( "String(myvar1.dynamicType) -> \(myvar1.dynamicType)")
print( "String(myvar2.dynamicType) -> \(myvar2.dynamicType)")
print( "String(myvar3.dynamicType) -> \(myvar3.dynamicType)")
print( "String(Int.self) -> \(Int.self)")
print( "String((Int?).self -> \((Int?).self)")
print( "String(NSString.self) -> \(NSString.self)")
print( "String(Array<String>.self) -> \(Array<String>.self)")
কোন ফলাফল:
String(myvar0.dynamicType) -> __NSCFConstantString
String(myvar1.dynamicType) -> PureSwiftClass
String(myvar2.dynamicType) -> Int
String(myvar3.dynamicType) -> String
String(Int.self) -> Int
String((Int?).self -> Optional<Int>
String(NSString.self) -> NSString
String(Array<String>.self) -> Array<String>
এক্সকোড 6.3 এর জন্য আপডেট:
আপনি এটি ব্যবহার করতে পারেন _stdlib_getDemangledTypeName()
:
print( "TypeName0 = \(_stdlib_getDemangledTypeName(myvar0))")
print( "TypeName1 = \(_stdlib_getDemangledTypeName(myvar1))")
print( "TypeName2 = \(_stdlib_getDemangledTypeName(myvar2))")
print( "TypeName3 = \(_stdlib_getDemangledTypeName(myvar3))")
এবং এটি আউটপুট হিসাবে পান:
TypeName0 = NSString
TypeName1 = __lldb_expr_26.PureSwiftClass
TypeName2 = Swift.Int
TypeName3 = Swift.String
আসল উত্তর:
এক্সকোড 6.3 এর আগে _stdlib_getTypeName
একটি ভেরিয়েবলের ম্যাংলেড টাইপের নাম পেল। ইভান সুইকের ব্লগ এন্ট্রি এই স্ট্রিংগুলি বোঝাতে সহায়তা করে:
উদাহরণস্বরূপ _TtSi
সুইফট এর অভ্যন্তরীণ Int
প্রকার বোঝায় ।
মাইক অ্যাশের একই বিষয় জুড়ে একটি দুর্দান্ত ব্লগ এন্ট্রি রয়েছে ।