This question already has answers here:
Objective-C: Property / instance variable in category
                                
                                    (6个答案)
                                
                        
                                6年前关闭。
            
                    
我正在尝试创建NSString类别,但是尝试访问getter / setter时应用程序崩溃。

#import <Foundation/Foundation.h>
#import <AddressBook/AddressBook.h>

@interface NSString (MyCat)

@property (assign, nonatomic) ABRecordRef personRef;

- (void)setPersonRef:(ABRecordRef)personRef;
- (ABRecordRef)personRef;

@end


谁能指出这个问题?

最佳答案

您不能通过类别将属性添加到类。允许添加方法,因为它不会增加类的大小。属性不仅会添加getter和setter方法,还会在您的类中添加一个字段。向现有类添加属性/字段的最佳方法是对其进行子类化。

08-26 03:54