0

たとえば、WhereamiViewControllerが を所有しておりCLLocationManagerCLLocationManagerのデリゲートは WhereamiViewControllerです。

すべてがクラスのオブジェクトを参照するインスタンス変数である場合、クラスをWhereamiViewController所有する方法について混乱しています。誰かが私にこの概念を明確にするのを手伝ってくれますか?CLLocationManagerWhereamiViewControllerCLLocationManager

#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>

@interface WhereamiViewController : UIViewController <CLLocationManagerDelegate> {
    CLLocationManager *locationManager;
}
@end

#import "WhereamiViewController.h"

@implementation WhereamiViewController

-(id) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    if (self) {
        locationManager = [[CLLocationManager alloc] init];
        [locationManager setDelegate: self];
        [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
        [locationManager startUpdatingLocation];
    }
    return self;
}

@end
4

1 に答える 1

0

CLLocationManagerドキュメントによると、のデリゲートは保持されません:

@property( assign , nonatomic) id デリゲート

したがって、デリゲートは によって保持されCLLocationMangerないため、保持ループはありません。

于 2012-08-12T17:11:04.947 に答える