FString
FString TestHUDString = FString(TEXT("This is my test FString."));
특징
- 조작이 가능한 유일한 스트링 클래스이다.
- 대소문자 변환, 부분 문자열 발췌, 역순 등 사용 가능한 메서드는 많다.
- 검색, 변경에 다른 스트링과의 비교도 가능하다.
- 다른 불변의 스트링 클래스보다 비용이 높다.
- ==연산을 사용해서 비교할 수 있다.
함수
Contains()
- 서브 스트링을 찾은 경우
true
, 아니면 false
를 반환한다.
- 검색 대상은
FString
거나 TCHAR*
의 서브스트링이다.
- 검색 기본 값은 처음부터 시작과 대소문자 무시이다.
SearchCase
를 사용해서 검색 시 대소문자를 무시할 것인지를 지정할 수 있다.
ESearchDir
을 사용해서 검색 방향을 지정할 수 있다.
변환
FString -> FName
TestHUDName = FName(*TestHUDString);
FName
은 대소문자를 구분하지 않기 때문에 손실성 변환이라 위험하다.
FString -> FText
TestHUDText = FText::FromString(TestHUDString);
FText
의 자동 현지화 혜택을 받지 못할 수 있다.
FText
특징
- 텍스트 현지화에 사용한다.
- 중간에 수정이 안된다.
- 고양이 -> 고양이들, cat -> cats 규칙을 정해놓으면 현지화한다.
- 오버로드된 연산자 비교를 지원하지 않는다.
함수
EqualTo
- 비교 규칙을 결정하기 위해
ETextComparisonLevel
값을 사용한다.
EqualToCaseIgnored
ETextComparisonLevel
값이 Second
인 EqualTo
를 호출한다.
CompareTo
- 비교 규칙을 결정하기 위해
ETextComparisonLevel
값을 사용한다.
- int32를 반환하는데 같다면 0을 반환한다.
- 양수를 반환하면 FText 호출이 FText 매개 변수를 기준으로 높게 정렬됨을 나타낸다.
- 음수를 반환하면 FText 호출이 FText 매개 변수를 기준으로 낮게 정렬됨을 나타낸다.
CompareToCaseIgnored
ETextComparisonLevel
값이 Second
인 CompareTo
를 호출한다.
UI
의 Slate/UMG
, HUD/Canvas
에서 사용한다.
변환
FText -> FString
TestHUDString = TestHUDText.ToString();
- 안전하지 않은 변환이다.
- 일부 언어에서는 변환 시 손실될 위험이 있다.
FName
FName TestHUDName = FName(TEXT("ThisIsMyTestFName"));
특징
- 콘텐츠 브라우저에서 새 애셋 이름을 지을 때
- 다이내믹 머티리얼 인스턴스의 파라미터를 변경할 때
- 스켈레탈 메시에서 본에 접근할 때
- 주어진 문자열을 재사용하여도 데이터 테이블에 한 번만 저장된다.
- 대소문자를 구분하지 않는다.
- 변경이 불가능하여 조작할 수 없다.
FName
테이블이 있어 해시로 검색하기에 속도가 빠르다.
- 메모리에 끝까지 남아있는다.
- == 연산자를 통해 비교 가능하다.
변환
FName -> FText
TestHUDText = FText::FromName(TestHUDName);
FText
의 자동 현지화 혜택을 받지 못할 수 있다.
FName -> FString
TestHUDString = TestHUDName.ToString();