我正在解析一些JSON。
有时JSON返回一个NSNull,我允许进入一个字符串,然后我会检查字符串,看它是否与NSNull有关,然后处理它。代码按预期工作,但编译器抱怨警告。
if ((theMonograph.cautions != nil) && (theMonograph.cautions != [NSNull null]))
{
//draw string
}
在Monograph.h中
NSString *cautions;
@property (nonatomic, retain) NSString *cautions;
所以我可能正确处理它的方法是更改为NSString位置的id
Monograph.h
id *cautions;
@property (nonatomic, retain) id *cautions;
但这仍然会产生另一个警告
从不兼容的指针类型
传递'setCautions:'的参数1
处理此问题的正确方法是什么?我猜测让NSNull进入一个NSString对象是错误的。但是将id对象放在其位置似乎没有用。
非常感谢 -code
答案 0 :(得分:5)
id
已经被声明为NSObject
的指针,所以摆脱星号:
id cautions;
@propertry (nonatomic, retain) id cautions;
答案 1 :(得分:0)
使用NSString
是完美的;只需将条件修改为
if ((theMonograph.cautions != nil) && (theMonograph.cautions != [NSNull null]) && [theMonograph.cautions length])
希望它有效。