如何摆脱所有的“警告this.name可能为空”警告?

时间:2019-06-17 22:44:58

标签: bixby bixbystudio

在我的Cat.view.bxb文件中,我有一些UI元素,这些元素基于结构中的可选属性,并附加了警告。

警告此名称可能为空

result-view{
  match {
    Cat (this)
  }
  render {
    layout {
      section {
        content {
          paragraph {
            style (Title_XS)
            value ("#{value(this.name)}")

          }
        }
      }
    }
  }
}

2 个答案:

答案 0 :(得分:1)

if(存在)有效并且是已经阐明的一种方式,并且为用户提供了出色的环境。在某些情况下,可能更可取的另一种方法是使用[]方括号表示法-如果方括号内的某个节为null,则将跳过该节。因此,对于您的示例:

result-view{
  match {
    Cat (this)
  }
  render {
    layout {
      section {
        content {
          paragraph {
            style (Title_XS)
            value ("[#{value(this.name)}]")
          }
        }
      }
    }
  }
}

答案 1 :(得分:0)

警告用于提醒您,如果不存在可选属性,则不会显示您定义的UI元素。

您应该定义一个from abc import ABC, abstractmethod class Model(ABC): def __init__(self, value): self.value = value super().__init__() @abstractmethod def do_something(self): pass # Inherit the base class class DoAdd42(Model): @decorate # <----------------------- SHOULD @decorate BE HERE INSTEAD? def do_something(self): return self.value + 42 并定义UI元素(当可选元素不可用时)。

例如,您的代码如下所示:

if(exists(this.name))

这样做,您正在解决警告的根本原因,并为用户创建响应速度更快的输出。