분명히 Swift는 enum에서 문자열을 찾을 수 있습니다
3753 단어 Swiftobjectivec
Swift에서 문자열 가져오기
Swift에서 enum
에 지정된 case
문자열을 제거할 수 있습니다.enum BloodType: String {
case A
case B
case O
case AB
}
BloodType.AB.rawValue // "AB"
잘 안 쓸 수도 있지만 제이슨 씻을 때 썼어요Json의 enum 문자열 사용 예에 예시를 적었어요)
그래서 이 Objective-C 버전도 이식을 부탁합니다...
Objective-C에서 문자열 가져오기
어쨌든 먼저 이식해 보자typedef enum {
A,
B,
O,
AB
}BloodType;
BloodType.AB.rawValue // rawValueないよね....
그래서 못 받아서 곤란해요.
어떻게 해야 할지 고민한 결과 엔움에서 index(몇 번째 케이스)를 찾을 수 있기 때문에 문자열을 배열에 넣고 꺼낼 수밖에 없어요...#define BloodTypeArray @"A", @"B", @"O", @"AB", nil
+ (NSString*) BloodTypeToString:(BloodType)value
{
return [[[NSArray alloc] initWithObjects:BloodTypeArray] objectAtIndex:value];
}
// Usage
[[クラス名] BloodTypeToString:AB]; // @"AB"
그림 배열이 좀 번거롭지만 한 번 쓰면 사용하기 쉬워
Json의 enum 문자열 사용 예
Json도 예를 언어로 쓰기가 어려워서 예를 적어보려고 w.
example.json
{
"name":"taro",
"blood":"AB",
"sex":"man",
"age":"30",
"parent_name":{
"father":"takeshi",
"mother":"yuko"
}
}
이런 제이슨을 분석하면 엔음 2개를 만들어 볼까요?
enum Example:String {
case name
case blood
case sex
case age
case parent_name
}
enum Parent_name:String {
case father
case mother
}
// Usage
let json=// Json의 Dictionary 분석
let parent_name = json[Example.parent_name.rawValue] as? Dictionary
let father = parent_name[Parent_name.father.rawValue] as? String
이렇게 사용하실 수 있어요!
제이슨의 레벨을 일일이 떠올릴 필요 없이 키의 문자열을 가장 먼저 발표할 수도 있고, 키의 레벨을 추가해도 이해하기 쉬우므로 어디에다 붙여야 할지 한눈에 알 수 있다.
Reference
이 문제에 관하여(분명히 Swift는 enum에서 문자열을 찾을 수 있습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hmhmsh/items/b7ab98d3af29fb966462
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
enum BloodType: String {
case A
case B
case O
case AB
}
BloodType.AB.rawValue // "AB"
어쨌든 먼저 이식해 보자
typedef enum {
A,
B,
O,
AB
}BloodType;
BloodType.AB.rawValue // rawValueないよね....
그래서 못 받아서 곤란해요.어떻게 해야 할지 고민한 결과 엔움에서 index(몇 번째 케이스)를 찾을 수 있기 때문에 문자열을 배열에 넣고 꺼낼 수밖에 없어요...
#define BloodTypeArray @"A", @"B", @"O", @"AB", nil
+ (NSString*) BloodTypeToString:(BloodType)value
{
return [[[NSArray alloc] initWithObjects:BloodTypeArray] objectAtIndex:value];
}
// Usage
[[クラス名] BloodTypeToString:AB]; // @"AB"
그림 배열이 좀 번거롭지만 한 번 쓰면 사용하기 쉬워Json의 enum 문자열 사용 예 Json도 예를 언어로 쓰기가 어려워서 예를 적어보려고 w. example.json { "name":"taro", "blood":"AB", "sex":"man", "age":"30", "parent_name":{ "father":"takeshi", "mother":"yuko" } } 이런 제이슨을 분석하면 엔음 2개를 만들어 볼까요? enum Example:String { case name case blood case sex case age case parent_name } enum Parent_name:String { case father case mother } // Usage let json=// Json의 Dictionary 분석 let parent_name = json[Example.parent_name.rawValue] as? Dictionary let father = parent_name[Parent_name.father.rawValue] as? String 이렇게 사용하실 수 있어요! 제이슨의 레벨을 일일이 떠올릴 필요 없이 키의 문자열을 가장 먼저 발표할 수도 있고, 키의 레벨을 추가해도 이해하기 쉬우므로 어디에다 붙여야 할지 한눈에 알 수 있다.
Reference
이 문제에 관하여(분명히 Swift는 enum에서 문자열을 찾을 수 있습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hmhmsh/items/b7ab98d3af29fb966462텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)