я пытаюсь добиться того, чтобы в ListView
были различные разделы, в которых может отображаться или не отображаться текст нижнего колонтитула или нижнего колонтитула. Так как Section
строго типизирован, чтобы иметь нижний колонтитул или верхний колонтитул, или и то, и другое или ни одного, я должен go во всех случаях создать раздел, как в коде ниже. У меня проблема в том, что body
выдает ошибку Function declares an opaque return type, but the return statement in its body do not have matching underlying types
, поэтому, насколько я понимаю, хотелось бы иметь уникальный тип возвращаемого значения, который, как мне кажется, не тот, который мне нужен. Я новичок в SwiftUI
, и я не уверен, как исправить проблему в этом случае. Также возвращая nil
в последнем случае, жалуется, что 'nil' requires a contextual type
. Спасибо!
struct CMGeneralSettingsSectionView: View {
@Binding var section: CMGeneralSettingsSection
var body: some View {
if let headerTitle = section.headerTitle {
if let footerTitle = section.footerTitle {
return Section(header: Text(headerTitle),
footer: Text(footerTitle)) {
return Text("")
}
} else {
return Section(header: Text(headerTitle)) {
return Text("")
}
}
} else {
if let footerTitle = section.footerTitle {
return Section(footer: Text(footerTitle)) {
return Text("")
}
} else {
return nil
}
}
}
}