Попробуйте эти две вещи отдельно и вместе:
if($_POST['submit']){}
$from
(только моя кишка) Вы не можете получить доступ к нестатическим материалам непосредственно в статическом методе.
Метод letKnowPersonDeinitialized
является статическим, потому что он модифицирован модификатором static
:
static func letKnowPersonDeinitialized() {
^
|
here!
}
Свойство name
для Person
не является статическим, поскольку оно не изменяется static
.
Поскольку нестатические члены принадлежат каждому отдельному экземпляру этого класса, а статические члены принадлежат классу сами статические члены не имеют прямого доступа к нестационарным членам. Они могут обращаться к нестационарным членам только при наличии экземпляра.
Чтобы решить вашу проблему, добавьте параметр к методу letKnowPersonDeinitialized
:
static func letKnowPersonDeinitialized(person: Person) {
print(person.name)
}
И в деинициализаторе :
deinit {
Indicator.letKnowPersonDeinitialized(self)
}
Я не думаю, что ваш код хорошо спроектирован. Это не то, как вы используете наследование.
Наследование означает, что «это своего рода». Поэтому, если Indicator
наследуется от Person
, это означает, что индикатор - это своего рода человек.
Согласно здравому смыслу, индикатор не является человеком. Поэтому здесь нецелесообразно использовать наследование. Это мало смысла.