typedef signed long CFIndex
をtypedef unsigned int NSUInteger
に変換するにはどうすればよいですか?CFIndexをNSUIntegerに変換しますか?
NSUInteger
の引数にCFIndex
を使用しても問題ありません。私はそれをキャストしていないし、コンパイラは気にしていないようです。コンパイラは私のために変換を行うだけですか?
typedef signed long CFIndex
をtypedef unsigned int NSUInteger
に変換するにはどうすればよいですか?CFIndexをNSUIntegerに変換しますか?
NSUInteger
の引数にCFIndex
を使用しても問題ありません。私はそれをキャストしていないし、コンパイラは気にしていないようです。コンパイラは私のために変換を行うだけですか?
はい、コンパイラはimplicit type conversionを実行します。
CFIndexが署名されていてNSUIntegerが署名されていないので、ここでは非常に注意する必要があります。 CFIndex -1を返すさまざまなルーチンがあります。あなたはそれをNSUIntegerとして使用する前にチェックする必要があります。
どうすれば確認できますか? – ma11hew28
if(index> = 0){NSUInteger uIndex =(NSUInteger)index; ...} else {エラーまたはリターン - または - 何でも; } –