想象我的班级声明如下:
@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
(在viewDidLoad
中)我是指实例变量还是调用属性? (在这种情况下,引用实例变量的正确方法是什么?)。
答案 0 :(得分:2)
如果您使用:
mapV
您正在直接访问实例变量。
如果您使用:
self.mapV
您正在通过setter / getter访问变量,并使用您设置的属性定义那些setter / getter。
根据经验,您希望直接在init方法中访问ivar,并在您使用self的其他类中访问。
如果您想了解更多信息,请点击以下链接: