Closed sgr-ksmt closed 9 years ago
64-bit動作時のみか分からないのですが、以下のようにNCMBObjectのサブクラスを作成し、BOOL型のプロパティをもたせて、サーバーから値を取得するといったことをしているのですが、 サブクラスを、 registerSubclass した時点で、BOOL値のプロパティに対して適切なdynamic setter/getterが定義されないので、正しくBOOL値が取れない状態となっています。
#import <Foundation/Foundation.h> #import <NCMB/NCMB.h> @interface HogeFlag : NCMBObject<NCMBSubclassing> @property (nonatomic,assign) BOOL flag; @end
NCMBObject.m のregisterSubclassメソッドの記述の中を追うと、プロパティの型毎にgetter/setterを定義している箇所があるのですが、BOOL型のプロパティの場合、 Tc ではなく、 TB としてcode(シグネチャ?)が取得される関係で、該当するものがなく、最後のelse文で、objectとしてgetter/setterが設定されてしまっているようです。
v2.0.1に上げる前は、v1系を使っていて、64bit対応しておらず、正しくBOOL値を取得できておりましたので、ロジック的にv1系と変化がないようでしたら、こちらを追加で対応して頂けますと幸いです。
@sgr-ksmt 2.0.2で解消されたかと思います。ご確認ください。
https://github.com/NIFTYCloud-mbaas/ncmb_ios/releases
@moongift 対応の方ありがとうございました!
64-bit動作時のみか分からないのですが、以下のようにNCMBObjectのサブクラスを作成し、BOOL型のプロパティをもたせて、サーバーから値を取得するといったことをしているのですが、 サブクラスを、 registerSubclass した時点で、BOOL値のプロパティに対して適切なdynamic setter/getterが定義されないので、正しくBOOL値が取れない状態となっています。
NCMBObject.m のregisterSubclassメソッドの記述の中を追うと、プロパティの型毎にgetter/setterを定義している箇所があるのですが、BOOL型のプロパティの場合、 Tc ではなく、 TB としてcode(シグネチャ?)が取得される関係で、該当するものがなく、最後のelse文で、objectとしてgetter/setterが設定されてしまっているようです。
v2.0.1に上げる前は、v1系を使っていて、64bit対応しておらず、正しくBOOL値を取得できておりましたので、ロジック的にv1系と変化がないようでしたら、こちらを追加で対応して頂けますと幸いです。