Objective c 是否可以将字符串枚举为整数以进行快速比较?(目标-C)

Objective c 是否可以将字符串枚举为整数以进行快速比较?(目标-C),objective-c,enumeration,Objective C,Enumeration,我需要将3NSString枚举为整数,这样比较两个数字就很容易了,并找出哪个是较低的数字。这3个字符串是: @"verde" = 1 @"giallo" = 2 @"rosso" = 3 它应该与if语句中的另一个整数进行比较。这可能吗?听起来您需要enum。试试这个: 步骤1:定义如下枚举: typedef NS_ENUM (NSInteger, MyStrings) { Verde = 0, Giallo, Rosso }; @property (nonatomi

我需要将3
NSString
枚举为
整数
,这样比较两个数字就很容易了,并找出哪个是较低的数字。这3个字符串是:

@"verde" = 1
@"giallo" = 2
@"rosso" = 3

它应该与
if语句中的另一个整数进行比较。这可能吗?

听起来您需要
enum
。试试这个:

步骤1:定义如下枚举:

typedef NS_ENUM (NSInteger, MyStrings) {
    Verde = 0,
    Giallo,
    Rosso
};
@property (nonatomic, assign) MyStrings string;
self.string = 2; // Setting property value

if (self.string < Verde) {
    NSLog(@"Small Value");
} else {
    NSLog(@"Big Value");
}
步骤2:定义一个枚举类型属性,如下所示:

typedef NS_ENUM (NSInteger, MyStrings) {
    Verde = 0,
    Giallo,
    Rosso
};
@property (nonatomic, assign) MyStrings string;
self.string = 2; // Setting property value

if (self.string < Verde) {
    NSLog(@"Small Value");
} else {
    NSLog(@"Big Value");
}
第3步:最后按如下方式使用:

typedef NS_ENUM (NSInteger, MyStrings) {
    Verde = 0,
    Giallo,
    Rosso
};
@property (nonatomic, assign) MyStrings string;
self.string = 2; // Setting property value

if (self.string < Verde) {
    NSLog(@"Small Value");
} else {
    NSLog(@"Big Value");
}
self.string=2;//设置属性值
if(self.string
我不能100%确定我是否理解,但这可能是您想要的。保留字符串到整数映射的字典:

NSDictionary *stringMap = @{
    @"verde": @(1),
    @"giallo": @(2),
    @"rosso": @(3)
};
在进行比较时,要做到:

NSString *s1 = @"verde";
NSString *s2 = @"rosso";
NSNumber *n1 = stringMap[s1];
NSNumber *n2 = stringMap[s2];
if (n1 && n2) {
    NSComparisonResult result = [n1 compare n2];
    if (result == NSOrderedAscending) {
        // s1 < s2
    } else if (result == NSOrderedDescending) {
        // s1 > s2
    } else {
        // s1 == s2
    }
}
NSString*s1=@“verde”;
NSString*s2=@“rosso”;
NSNumber*n1=stringMap[s1];
NSNumber*n2=stringMap[s2];
如果(n1和n2){
NSComparisonResult=[n1比较n2];
如果(结果==传感器解除设定){
//s1s2
}否则{
//s1==s2
}
}

现在还不太清楚您想在这里实现什么。这些字符串是字典里的键吗?我不知道你在做什么,但是。。。枚举可以帮助您吗?字典中没有字符串,我只想为“verde”、“giallo”和“rosso”字符串值指定数字:1、2和3来比较它们,因为您可以将字符串与number@Zil我怎么做?