2013-03-22 65 views
0

我設立一些常量,其中之一是一個NSDate但接收到該wanring消息:不相容指針類型初始化「的NSDate

不相容指針類型與類型的NSString

的代碼簡單說明的表達式初始化NSDate *const __strong(小鬼文件):

NSDate *const kPAPUserBirthdayKey = @"fbBirthday"; 

高級解釋: 我用一個常量文件作爲一個單身保持不變變量我寫的API。例如上面這個日期字段,它將在連接到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]; 

有人能解釋的警告實際上意味着,什麼應該在這裏改變:

這是後來在下面的轉換使用?我在上面最後一行得到同樣的錯誤?

回答

1
NSDate *const kPAPUserBirthdayKey = @"fbBirthday"; 

你分配一個字符串到的NSDate。

變化NSDate變爲NSString

用途:

NSString const *kPAPUserBirthdayKey = @"fbBirthday"; 

還要檢查你需要什麼?

A constant pointer or pointer to a constant

+0

@CarlVeazey:對不起再次錯字錯過,解釋不錯,但複製並忘記將nsdate更改爲nsstring :(而且你很頻繁地downvote。沒有任何憐憫之類的東西 – 2013-03-22 15:57:24

+0

好吧,我想這更多地涉及這個如何正在被使用/實現。fbBirthday是一個正確的字符串,但它只是日期將被輸入到的標題/列。因此,輸入的實際數據將是Date,如下所示 - [[PFUser currentUser] setObject:userDOB forKey :kPAPUserBirthdayKey]; – StuartM 2013-03-22 16:01:51

0
NSDate *const kPAPUserBirthdayKey        = @"fbBirthday"; 

這裏fbBirthday是一個字符串沒有日期。警告說。

0

將您的常量類型更改爲NSString。編譯器告訴你你在不兼容類型之間進行賦值,因爲NSString不是NSDate的子類。