在Swift語(yǔ)言中將對(duì)象的類(lèi)名作為字符串獲取
本文將向您解釋如何在Swift語(yǔ)言中獲取對(duì)象的類(lèi)名。愛(ài)掏網(wǎng) - it200.com
Swift為我們提供了一個(gè)名為type(of:)的函數(shù),用于獲取值的類(lèi)型或?qū)ο蟮念?lèi)名。愛(ài)掏網(wǎng) - it200.com
您可以使用type(of:)函數(shù)來(lái)查找值的動(dòng)態(tài)類(lèi)型,特別是當(dāng)動(dòng)態(tài)類(lèi)型與靜態(tài)類(lèi)型不同時(shí)。愛(ài)掏網(wǎng) - it200.com值的靜態(tài)類(lèi)型是已知的,在編譯時(shí)確定的類(lèi)型。愛(ài)掏網(wǎng) - it200.com值的動(dòng)態(tài)類(lèi)型是在運(yùn)行時(shí)的實(shí)際類(lèi)型,可以是其具體類(lèi)型的子類(lèi)型。愛(ài)掏網(wǎng) - it200.com
import Foundation
class Person {
var name: String?
var address: String?
}
class Student: Person {
var rollNumber: Int?
var schoolName: String?
}
let personObject = Person()
let studentObject = Student()
let className1 = String(describing: type(of: personObject))
let className2 = String(describing: type(of: studentObject))
print("personObject type: \(className1)")
print("studentObject type: \(className2)")
輸出
personObject type: Person
studentObject type: Student
解釋
在上面的例子中,我們使用了String(describing:)函數(shù)將類(lèi)型以字符串格式獲取。愛(ài)掏網(wǎng) - it200.com
結(jié)論
type(of:)函數(shù)用于獲取對(duì)象的類(lèi)名。愛(ài)掏網(wǎng) - it200.com此函數(shù)適用于任何類(lèi)型的對(duì)象,如Int、String、自定義對(duì)象等。愛(ài)掏網(wǎng) - it200.com您可以使用String(describing:)函數(shù)將對(duì)象類(lèi)型轉(zhuǎn)換為字符串格式。愛(ài)掏網(wǎng) - it200.com