我正在尝试创建 getter setter 模块并应用于我的 Control 类
在编译时,代码的最后一行显示了将“int”发送到“int *”类型的参数的不兼容整数到指针的转换:
CheckPoints *myCar=[[CheckPoints alloc] init];
[myCar setState:1];
下面是我的CheckPoints.m、CheckPoints.h
.m
#import "CheckPoints.h"
@implementation CheckPoints
@synthesize desp = _desp;
@synthesize latitude = _latitude;
@synthesize longitude = _longitude;
@synthesize state = _state;
- (NSString *) getDesp
{
return desp;
}
- (float *) getLatitude
{
return latitude;
}
- (float *) getLongitude
{
return longitude;
}
- (int *) getState
{
return state;
}
- (void)setDesp:(NSString *)valueDesp {
[self setDesp:valueDesp];
}
- (void)setLatitude:(float *)valueLatitude {
// self.latitude = valueLatitude;
[self setLatitude:valueLatitude];
}
- (void)setLongitude:(float *)valueLongitude {
[self setLongitude:valueLongitude];
}
- (void)setState:(int *)valueState {
[self setState:valueState];
}
@end
.h
#import <GoogleMaps/GoogleMaps.h>
#import <Foundation/Foundation.h>
@interface CheckPoints : NSObject<CLLocationManagerDelegate> {
NSString *desp;
float *latitude;
float *longitude;
int *state;
}
@property (nonatomic, assign) NSString* desp;
@property (nonatomic, assign) float* latitude;
@property (nonatomic, assign) float* longitude;
@property (nonatomic, assign) int* state;
- (NSString *)getDesp;
- (Float32 *)getLatitude;
- (Float32 *)getLongitude;
- (int *)getState;
- (void)setDesp:(NSString *)valueDesp;
- (void)setLatitude:(float *)valueLatitude;
- (void)setLongitude:(float *)valueLongitude;
- (void)setState:(int *)valueState;
@end
最佳答案
您应该从标量类型中删除“*”符号。换句话说,您应该将其更改为:
- (void)setState:(int)valueState {
[self setState:valueState];
}
关于ios - setter/getter : Incompatible Integer to pointer conversion sending 'int' to parameter of type 'int *' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24114895/