Trả lời cho câu hỏi của bạn là extern từ khóa. Tôi sẽ giải thích cho bạn bằng cách sử dụng một ví dụ. Thêm lớp c Mục tiêu dự án của bạn và đặt tên cho chúng Common, Bây giờ trong Common.h
@interface Common : NSObject
extern NSString *SiteApiURL;
@end
Sau khi bạn định nghĩa một thể hiện của NSString lớp sử dụng từ khóa extern những gì bạn cần làm là chuyển sang lớp Common.m và khởi tạo giá trị cho NSString (SiteApiURL)
#import "Common.h"
@implementation Common
NSString *SiteApiURL = @"http://api.service.com";
@end
nhập lớp Common.h trong dự án Prefix.pch nộp như thế này
#import <Availability.h>
#ifndef __IPHONE_3_0
#warning "This project uses features only available in iOS SDK 3.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "Common.h"
#endif
Đã xong, bây giờ bạn có thể sử dụng o bject "SiteApiURL" ở bất kỳ đâu trong toàn bộ dự án và bạn không cần phải nhập bất kỳ lớp nào ở bất kỳ đâu tức là Bạn có thể sử dụng biến này ở bất kỳ đâu trong dự án trực tiếp.
Nguồn
2013-04-18 13:28:20
Điều đáng chú ý là một vấn đề về phong cách (và để tránh các lỗi bị rớt vào) những #defines đó thực sự là, ví dụ '#define SOME_VALUE (7)'. Tôi cũng mạnh mẽ không khuyến khích thực hành này cho các ứng dụng không được nhúng, vì nó không được kiểm tra kiểu và chi phí bộ nhớ của các biến tĩnh thực sự không phải là một vấn đề lớn đối với iOS/OS X. – sapi
Điểm tốt. Chỉ muốn ném ra một số lựa chọn cho anh ta. đã chỉnh sửa. –
Đối với bất kỳ ai đến đây trong tương lai. Hằng số chắc chắn là phương pháp ưa thích. Hằng số cho phép trình biên dịch thực hiện một số tối ưu hóa cho bạn trong khi xác định chỉ đơn giản là cải thiện trải nghiệm của bạn bằng mã tự động hoàn toàn phổ biến. –