Mã của bạn có 2 vấn đề:
1) "char datechar ..." là một một ký tự đơn, chỉ chứa một char/byte và sẽ không giữ toàn bộ mảng mà bạn đang tạo ra từ đối tượng ngày/chuỗi của bạn. Do đó, dòng của bạn phải có (*) ở phía trước của biến để lưu trữ nhiều ký tự thay vì chỉ một ký tự.
2) Sau khi sửa lỗi ở trên, bạn vẫn sẽ nhận được cảnh báo về (char *) vs (const char *), do đó, bạn sẽ cần phải "truyền" vì chúng là kết quả tương tự về mặt kỹ thuật. Thay đổi dòng:
char datechar = [date UTF8String];
vào
char *datechar = (char *)[date UTF8String];
Thông báo (char *) sau dấu =, nói với trình biên dịch rằng biểu thức sẽ trả về một (char *) như trái ngược với nó là mặc định (const char *).
Tôi biết bạn đã đánh dấu câu trả lời trước đó, tôi nghĩ tôi có thể đóng góp để giải thích các vấn đề và cách khắc phục chi tiết hơn.
Tôi hy vọng điều này sẽ hữu ích.
Kind Regards Heider
Nguồn
2013-09-18 10:19:33
UTF8String trả về một const char * –