NIFCLOUD-mbaas / UserCommunity

ニフクラ mobile backend ユーザーコミュニティ
https://mbaas.nifcloud.com/
81 stars 18 forks source link

NCMBObjectのサブクラスでBOOL型のプロパティを定義すると、正しくBOOL値を取得できない #87

Closed sgr-ksmt closed 9 years ago

sgr-ksmt commented 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系と変化がないようでしたら、こちらを追加で対応して頂けますと幸いです。

goofmint commented 9 years ago

@sgr-ksmt 2.0.2で解消されたかと思います。ご確認ください。

https://github.com/NIFTYCloud-mbaas/ncmb_ios/releases

sgr-ksmt commented 9 years ago

@moongift 対応の方ありがとうございました!