0

想象我的类声明如下所示:

@interface MapViewController : UIViewController <MKMapViewDelegate>
{

}

@property (nonatomic,weak) IBOutlet MKMapView *mapV;

@end

这是实现:

#import "MapViewController.h"
#import <CoreLocation/CoreLocation.h>

@interface MapViewController ()

@end

@implementation MapViewController

@synthesize mapV;


- (void)viewDidLoad
{
    [super viewDidLoad];
    [mapV setShowsUserLocation:YES];
}

我的问题是,通过使用mapV上述(in viewDidLoad)我指的是实例变量还是调用属性?(在这种情况下,引用实例变量的正确方法是什么?)。

4

1 回答 1

2

如果您使用:

mapV

您正在直接访问实例变量。

如果您使用:

self.mapV

您正在通过 setter/getter 访问变量,并且这些 setter/getter 是使用您设置的属性定义的。

根据经验,您希望直接在 init 方法中访问您的 ivar,并在您使用 self.

如果您想获得更多信息,请点击以下链接:

在 Objective-C 中封装数据

于 2013-07-25T08:20:15.367 回答