반응형
질문
최신 버전의 플러터로 업그레이드한 후, 모든 목록에 대해 사용이 중단된 경고를 받습니다.
List<MyClass> _files = List<MyClass>(); => 'List'는 사용이 중단되었으며 사용해서는 안 됩니다.
불행히도, 대체할 항목에 대한 힌트를 제공하지 않습니다. 그래서 우리는 이제 어떤 것을 대신 사용해야 할까요?
- Dart SDK 버전: 2.12.0-141.0.dev
- 플러터: Channel master, 1.25.0-9.0.pre.42
답변
Ok, 찾았습니다. 그냥 어떻게 인스턴스화하는지입니다:
List<MyClass> _files = [];
편집: 아마도 가장 일반적인 것들, 문서에 따라 조금 더 자세히:
크기가 0인 고정 길이 리스트:
List<MyClass> _list = List<MyClass>.empty();
확장 가능한 리스트:
List<MyClass> _list = [];
//또는
List<MyClass> _list = List<MyClass>.empty(growable: true);
고정 길이 및 미리 정의된 채우기:
int length = 3;
String fill = "test";
List<String> _list = List<String>.filled(length, fill, growable: true);
// => ["test", "test", "test"]
생성 함수가 있는 리스트:
int length = 3;
MyClass myFun(int idx) => MyClass(id: idx);
List<MyClass> _list = List.generate(length, myFun, growable: true);
// => [Instance of 'MyClass', Instance of 'MyClass', Instance of 'MyClass']
반응형
댓글