我正在尝试从我的数据库1.2.0中提取我的应用程序版本,并将其与已安装的应用程序当前版本进行比较。可能未定义或更低(例如1.1.0等)。
我知道我可以在NSString上使用isEqualTo,但只是比较相等。
我想知道如何使用compare来获得类似于Java的compareTo方法的结果,该方法返回一个0,正整数的整数。
我查了一下NSComparisonResult,但无法弄清楚如何使用访问结果。
另外,在旁注:可以假设更新之前的版本低于苹果应用程序中的更新版本吗?应用程序是否可能降级,以便当应用程序运行数据库时可能属于较新版本的应用程序?
感谢。
答案 0 :(得分:1)
如何使用compare?结果NSComparisonResult只是-1,0,1值的枚举。
答案 1 :(得分:1)
您可以使用NSString::compare来比较两个NSStrings。
前:
NSString *str1 = @"Hello";
NSString *str2 = @"World!";
NSComparisonResult retValue = [ str1 compare:str2 ];
请注意,retValue
具有两个字符串是否相等的结果。枚举NSComparisonResult
-
enum {
NSOrderedAscending = -1,
NSOrderedSame,
NSOrderedDescending
};
typedef NSInteger NSComparisonResult;
如果retValue == NSOrderedSame
,则两个字符串相等。即,返回值 0 。
答案 2 :(得分:1)
1)NSComparisonResult NSOrderedAscending = -1,NSOrderedSame,NSOrderedDescending
这意味着如果第一个值小于第二个,如果值等于0,则得到-1,否则为1.
2)AppStore无法降级。如果版本不匹配,可以假设AppStore版本更新。