でサブクラスを作成します - person
スーパークラスとSuperPerson
サブクラス:swift3:私は2クラス持っているクラス名
class person {
var name: String
var age : Int
func instance(){}
}
class SuperPerson : Person {
var power : Int
}
を私はclassName = "SuperPerson"
を持っていると私はコードを使用しています:しようとする
let superPerson = NSClassFromString(className) as? Person.Type
をSuperPerson
のインスタンスを作成しますが、インスタンスには変倍がありません - 年齢と名前はありますが
Ca誰かが私が間違っている場所を示唆していますか?
このコードは正確にあなたと一致することを確認してください。 Swiftの資本化問題。 'person'は' Person'と同じではなく、 'SuperPerson'は' SuperPerSon'と同じではありません。 (これらは 'Person'と' SuperPerson'でなければなりません。)あなたが 'superPerson'でやっていることも明らかではありません。なぜあなたはそれが "年齢、名前を持っていますか?"どのようにこれを知ったのですか? –
私は、そのコードを使ってクラスを作成すると、変数superPersonにはSuperPersonではないPerson型があることを意味します。 (クラス名によるクラス検出) –
このコードはクラスを作成しません。私は結局インスタンスを作成するために 'superPerson.init()'のようなものを呼び出すと仮定します?これは可能ですが、それを 'Person'にキャストしているので、' power'プロパティがあることをコンパイラが知る方法はありません。とにかくそれをやろうとしているのかどうかはわかりません。私は、「スーパーパーソンを...」の後のコードがどのようなものか想像するのは困っている。 –