指向整数发送'UITextField * 的不兼容指针
Incompatible pointer to integer sending 'UITextField*
我对 UITextField 有疑问
我希望用户输入 运行 通知的日期,我在 .m
中使用它
[dateComponent setWeekday:1]; // For sunday
[dateComponent setHour:timeHClass];
[dateComponent setMinute:timeMClass];
这在 .h 中
@property (retain, nonatomic) IBOutlet UITextField *timeHClass;
@property (retain, nonatomic) IBOutlet UITextField *timeMClass;
但它向我显示了这个警告:
incompatible pointer to integer sending 'UiTextField*__strong' to parameter of type 'NSInteger' (aka 'long')
你应该做的:
[dateComponent setHour:[timeHClass.text integerValue]];
[dateComponent setMinute:[timeMClass.text integerValue]];
您想获取字段中键入的文本并将其与您的日期组件一起使用。
解释:timeHClass
对象是一个 UITextField
所以你想访问它的 text
属性,这是一个 NSString
对象,并且将其转换为 NSInteger
值。您还应该确保您的文本字段是数字。
您正在将 class 的 UITextField 属性设置为小时和分钟组件。这些字段需要整数,就像您对 [dateComponent setWeekday:1];
.
所做的一样
您正在尝试发送一个指向 UITextField *
对象的指针作为参数,该参数应该是 NSInteger。尝试:
[dateComponent setHour:[timeHClass.text integerValue]];
但是要非常小心这种类型的转换,用户可能会输入您不想要的内容。您必须事先检查输入文本以避免不可预测的行为。
您必须获取文本字段的内容,而不是文本字段本身:
[dateComponent setWeekday:1]; // For sunday
[dateComponent setHour:[timeHClass.text integerValue]];
[dateComponent setMinute:[timeMClass.text integerValue];
我对 UITextField 有疑问
我希望用户输入 运行 通知的日期,我在 .m
中使用它 [dateComponent setWeekday:1]; // For sunday
[dateComponent setHour:timeHClass];
[dateComponent setMinute:timeMClass];
这在 .h 中
@property (retain, nonatomic) IBOutlet UITextField *timeHClass;
@property (retain, nonatomic) IBOutlet UITextField *timeMClass;
但它向我显示了这个警告:
incompatible pointer to integer sending 'UiTextField*__strong' to parameter of type 'NSInteger' (aka 'long')
你应该做的:
[dateComponent setHour:[timeHClass.text integerValue]];
[dateComponent setMinute:[timeMClass.text integerValue]];
您想获取字段中键入的文本并将其与您的日期组件一起使用。
解释:timeHClass
对象是一个 UITextField
所以你想访问它的 text
属性,这是一个 NSString
对象,并且将其转换为 NSInteger
值。您还应该确保您的文本字段是数字。
您正在将 class 的 UITextField 属性设置为小时和分钟组件。这些字段需要整数,就像您对 [dateComponent setWeekday:1];
.
您正在尝试发送一个指向 UITextField *
对象的指针作为参数,该参数应该是 NSInteger。尝试:
[dateComponent setHour:[timeHClass.text integerValue]];
但是要非常小心这种类型的转换,用户可能会输入您不想要的内容。您必须事先检查输入文本以避免不可预测的行为。
您必须获取文本字段的内容,而不是文本字段本身:
[dateComponent setWeekday:1]; // For sunday
[dateComponent setHour:[timeHClass.text integerValue]];
[dateComponent setMinute:[timeMClass.text integerValue];