0

配列があり、その内容は 型のオブジェクトですが、それらをtid型に変換する必要があります。in配列にデータをints として読み取らせたり、idを に変換させたりする方法はありintますか?

    NSArray *array = [string componentsSeparatedByString:@"\n"];

    int foo = array[0];  /*Warning: Incompatible pointer to integer conversion initializing 'int' with an expression of type 'id' */
4

2 に答える 2

4

componentsSeparatedByString:ドキュメント 言います:

戻り値

NSArrayセパレーターで分割されたレシーバーからの部分文字列を含むオブジェクト。

したがって、あなたfileContentsには の配列が含まれていますNSStringsfileContents[0]配列内の最初の NSStringインスタンスです。そして、できれば呼び出すことで、またはできれNSStringば変換できますintNSInteger

[string intValue];
[string integerValue];

したがって、コードは次のようになります (配列に少なくとも 1 つのオブジェクトが含まれていると仮定します。これを確認することを忘れないでください)。

int object1 = [fileContents[0] intValue];

または、コードの読みやすさを向上させるために型キャストを含めることをお勧めします

int object1 = [(NSString *)fileContents[0] intValue];
于 2013-08-02T13:11:29.660 に答える