1

私はいくつかの定数を設定しています。1つはNSDateですが、次の警告メッセージを受け取ります。

タイプの式で初期化する互換性のないポインタNSDate *const __strongNSString

コードの簡単な説明(impファイル):

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];

警告が実際に何を意味し、ここで何を変更する必要があるかを誰かが説明できますか?上記の最後の行で同じエラーが発生しますか?

4

3 に答える 3

1
NSDate *const kPAPUserBirthdayKey = @"fbBirthday";

NSDateに文字列を割り当てています。

に変更NSDateNSStringます。

使用する:

NSString const *kPAPUserBirthdayKey = @"fbBirthday";

また、必要なものを確認しますか?

定数ポインタまたは定数へのポインタ

于 2013-03-22T15:52:35.763 に答える
0
NSDate *const kPAPUserBirthdayKey                               = @"fbBirthday";

これfbBirthdayは日付ではなく文字列です。警告はそれを言います。

于 2013-03-22T15:53:51.057 に答える
0

定数の型を NSString に変更します。コンパイラは、NSString が NSDate のサブクラスではないため、互換性のない型間で割り当てを行っていることを通知しています。

于 2013-03-22T15:58:47.503 に答える