2

Core Data属性を設定しようとしていますが、互換性のないタイプエラーが発生しています。iPhone3.0のCoreDataエンティティにfloat属性があります。Core Dataは、管理対象データオブジェクトへのプロパティアクセスを提供するインターフェイスを自動生成します。

@property (nonatomic, retain) NSNumber * volume;

そしてその実装:

@dynamic volume;

attrVolumeと呼ばれる管理対象データオブジェクトのインスタンスを作成し、それを使用して、CoreData管理対象オブジェクトコンテキストを介してそのCoreDataエンティティ属性にアクセスします。

[attrVolume setVolume:[txtVolume.text floatValue]];

コンパイルエラーは次のとおりです。

'setVolume:'の引数1の互換性のないタイプ

その値をキャストし、そのコンパイルエラーを取得しない方法についてのアイデアはありますか?NSNUmberにキャストする方法はありますか?

助けていただければ幸いです//:)

4

1 に答える 1

5

-floatValueタイプの値を返しますfloat。次に、の値を設定しようとしていますがvolume、これはNSNumberこのfloat値になりますが、失敗します。

NSNumber文字列のfloat値からを作成し、それを次のように割り当てる必要がありvolumeます。

NSNumber* volNum = [NSNumber numberWithFloat:[textVolume.text floatValue]];
[attrVolume setVolume:volNum];
于 2010-02-11T04:08:34.860 に答える