Showing
1 changed file
with
29 additions
and
0 deletions
| @@ -200,6 +200,35 @@ Get의 인스턴스에서 삭제합니다: | @@ -200,6 +200,35 @@ Get의 인스턴스에서 삭제합니다: | ||
| 200 | Get.delete<Controller>(); // 보통 GetX는 미사용 controller를 삭제하기 때문에 수행할 필요가 없습니다 | 200 | Get.delete<Controller>(); // 보통 GetX는 미사용 controller를 삭제하기 때문에 수행할 필요가 없습니다 |
| 201 | ``` | 201 | ``` |
| 202 | 202 | ||
| 203 | +## 대체 인스턴스 지정 | ||
| 204 | + | ||
| 205 | +현재 추가된 인스턴스는 `replace` 또는 `lazyReplace` 메소드를 사용하여 유사하거나 확장된 클래스 인스턴스로 교체할 수 있습니다. 이후 원본 클래스를 사용하여 찾을 수 있습니다. | ||
| 206 | +```dart | ||
| 207 | +abstract class BaseClass {} | ||
| 208 | +class ParentClass extends BaseClass {} | ||
| 209 | + | ||
| 210 | +class ChildClass extends ParentClass { | ||
| 211 | + bool isChild = true; | ||
| 212 | +} | ||
| 213 | + | ||
| 214 | + | ||
| 215 | +Get.put<BaseClass>(ParentClass()); | ||
| 216 | + | ||
| 217 | +Get.replace<BaseClass>(ChildClass()); | ||
| 218 | + | ||
| 219 | +final instance = Get.find<BaseClass>(); | ||
| 220 | +print(instance is ChildClass); //true | ||
| 221 | + | ||
| 222 | + | ||
| 223 | +class OtherClass extends BaseClass {} | ||
| 224 | +Get.lazyReplace<BaseClass>(() => OtherClass()); | ||
| 225 | + | ||
| 226 | +final instance = Get.find<BaseClass>(); | ||
| 227 | +print(instance is ChildClass); // false | ||
| 228 | +print(instance is OtherClass); //true | ||
| 229 | +``` | ||
| 230 | + | ||
| 231 | + | ||
| 203 | ## 메서드간의 차이점 | 232 | ## 메서드간의 차이점 |
| 204 | 233 | ||
| 205 | 첫째, Get.lazyPut의 `fenix`와 다른 메서드들의 `permanent`을 살펴보겠습니다. | 234 | 첫째, Get.lazyPut의 `fenix`와 다른 메서드들의 `permanent`을 살펴보겠습니다. |
-
Please register or login to post a comment