以下の内容はhttps://nakamura001.hatenablog.com/entry/20100905/1283654296より取得しました。


バージョン番号の文字列を比較する方法

Objective-Cではバージョンの文字列の比較は NSString の compare:options: メソッドに NSNumericSearch を指定して行います。

	NSString *versionA = @"1.0.0";
	NSString *versionB = @"1.41.0";
	if ([versionA compare:versionB options:NSNumericSearch] == NSOrderedAscending) {
		// 昇順(NSOrderedAscending、versionA < versionB)のとき
		NSLog(@"昇順");
	} else {
		NSLog(@"昇順で無い");
	}

さまざまなパターンの値を指定したときの結果を以下にまとめました。

[versionA compare:versionB options:NSNumericSearch];

と記述したときの versionA と versionB の値の並び順を NSOrderedSame,NSOrderedAscending,NSOrderedDescending のいずれかで返します。
ちょっと日本人には直感的ではないのでNSOrderedSame=等しい、NSOrderedAscending=昇順、NSOrderedDescending=降順として記述しました。

versionA versionB 比較結果
1.0.0 1.41.0 昇順
2.0.0 1.41.0 降順
1.0 1.41.0 昇順
2.0 1.41.0 降順
1 1.41.0 昇順
2 1.41.0 降順
1.5.0 1.41.0 昇順
1.50.0 1.41.0 降順
1.4.0 1.41.0 昇順
1.41.0 1.41.0 等しい
1.40.99 1.41.0 昇順
1.4.99 1.41.0 昇順
0.99.99 1.41.0 昇順

この様にどの様なパターンで記述されたバージョン番号のときでも理想的な結果が返されます。




以上の内容はhttps://nakamura001.hatenablog.com/entry/20100905/1283654296より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14