Tôi đã xác định giao thức mà tất cả các trình cắm của tôi phải triển khai. Tôi cũng muốn các trình cắm thêm sử dụng một số chuỗi nhất định, như MyPluginErrorDomain. Với số nguyên này khá dễ dàng đạt được trong một enum, nhưng tôi không thể tìm ra cách để làm tương tự với các chuỗi. Thông thường, trong các lớp học tôi sẽ xác địnhCách tốt nhất để xác định hằng số chuỗi trong giao thức khách quan-c là gì?
extern NSString * const MyPluginErrorDomain;
trong file .h và trong file .m:
NSString * const MyPluginErrorDomain = @"MyPluginErrorDomain";
nhưng điều đó không làm việc rất tốt trong một giao thức, bởi vì sau đó mỗi plug- trong sẽ phải cung cấp thực hiện riêng của mình mà đánh bại mục đích có một hằng số.
sau đó tôi đã cố gắng
#define MYPLUGIN_ERROR_DOMAIN @"MyPluginErrorDomain"
nhưng các lớp học thực hiện trong các plug-in dường như không thể nhìn thấy cáC#define. Ai biết được một giải pháp tốt?
xóa thẻ C, C++ - đây là câu hỏi C mục tiêu – zaharpopov
Ghi chú cho C++, cũng xem nhận xét của tôi về câu trả lời thú vị của Neil Butterworth. Tôi vẫn đang băn khoăn liệu có phải là giải pháp C không, tôi không thể là người đầu tiên trong lịch sử của C, người muốn đạt được điều này. –
Vì đây là C Hằng số C này không cần phải được loại bỏ – iCaramba