不兼容的指针类型初始化'NSDate

时间:2013-03-22 15:51:47

标签: ios objective-c pointers nsstring nsdate

我正在设置一些常量,一个是NSDate,但接收到这个啰嗦的消息:

使用NSDate *const __strong类型的表达式初始化NSString的指针类型不兼容

代码的简单解释(imp文件):

NSDate *const kPAPUserBirthdayKey = @"fbBirthday";

高级说明: 我使用常量文件作为单独持有我写入的API的常量变量。例如,上面是一个Date字段,用于在连接Facebook时保存facebook用户的生日。

稍后将在以下转换中使用:

// Convert the DOB string into Date format
NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MM/dd/yyyy"];
NSDate* userDOB = [df dateFromString:user.birthday];
[[PFUser currentUser] setObject:userDOB forKey:kPAPUserBirthdayKey];

有人可以解释警告实际意味着什么以及应该在哪里更改?我在上面的最后一行得到了同样的错误?

3 个答案:

答案 0 :(得分:1)

NSDate *const kPAPUserBirthdayKey = @"fbBirthday";

您正在为NSDate分配字符串。

NSDate更改为NSString

使用:

NSString const *kPAPUserBirthdayKey = @"fbBirthday";

还要检查你需要什么?

A constant pointer or pointer to a constant

答案 1 :(得分:0)

NSDate *const kPAPUserBirthdayKey                               = @"fbBirthday";

此处fbBirthday是一个字符串而不是日期。警告说。

答案 2 :(得分:0)

将常量类型更改为NSString。编译器告诉你在不兼容的类型之间进行分配,因为NSString不是NSDate的子类。