Ios Getter Setter:不兼容的整数到指针转换发送';int';至类型为'的参数;int*';

Ios Getter Setter:不兼容的整数到指针转换发送';int';至类型为'的参数;int*';,ios,objective-c,getter-setter,Ios,Objective C,Getter Setter,我正在尝试创建getter setter模块并应用于我的控件类 在编译时,代码的最后一行显示了将“int”发送到“int*”类型参数的不兼容整数到指针转换: CheckPoints *myCar=[[CheckPoints alloc] init]; [myCar setState:1]; 下面是我的CheckPoints.m,CheckPoints.h m h #导入 #进口 @接口检查点:NSObject{ NSString*desp; 浮动*纬度; 浮动*经度; 国际*国家;

我正在尝试创建getter setter模块并应用于我的控件类

在编译时,代码的最后一行显示了将“int”发送到“int*”类型参数的不兼容整数到指针转换:

  CheckPoints *myCar=[[CheckPoints alloc] init];
    [myCar setState:1];
下面是我的CheckPoints.m,CheckPoints.h

m

h

#导入
#进口
@接口检查点:NSObject{
NSString*desp;
浮动*纬度;
浮动*经度;
国际*国家;
}
@属性(非原子,赋值)NSString*desp;
@属性(非原子,赋值)浮点*纬度;
@属性(非原子,赋值)浮点*经度;
@属性(非原子,赋值)int*状态;
-(NSString*)getDesp;
-(32*)获取纬度;
-(32*)获得经度;
-(int*)getState;
-(void)setDesp:(NSString*)valueDesp;
-(void)设置纬度:(float*)值纬度;
-(void)设置经度:(float*)值经度;
-(void)setState:(int*)valueState;
@结束

您应该从标量类型中删除“*”符号。换句话说,您应该将其更改为:

- (void)setState:(int)valueState {
    [self setState:valueState];
}

从int中删除*并浮动。然后它就会工作。NSString one怎么样?我建议你多读一些关于objective-c和(OOP语言)是如何工作的符号表示在对象的地址之前分配的地址。因此,NSString应该与'*'一起使用:NSString*myStringAddress=[[NSString alloc]initWithString:@“blabla”]//这里您正在分配要与此字符串关联的地址
#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];
}