iOS setValue value类型与相应属性类型不同

1.通过setValue:forKey:为对象属性赋值时,属性的真正类型是由value的类型决定,,

例:

@property (nonatomic, strong) NSString  *praise;

[self setValue:@(20) forKey:@"praise"];

则praise的真正类型是NSNumber类型,,,

 

2.当value的类型和相应属性的类型为不同的基本数据类型时,最终数据类型由相应属性的类型决定,,(自动转换)

例:

@property (nonatomic ,assign) long      praise;

[self setValue:@(20.38294) forKey:@"praise"];

则praise的真正类型是long类型,,,20

@property (nonatomic, assign) CGFloat  praise;

[self setValue:@(20) forKey:@"praise"];

则praise的真正类型是CGFloat类型,,,20.000000

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。