자동 생성된 속성의 접근자에 중단점

2302 단어 MacOSXObjective-C
지금 경감이 강합니다만, Objective-C는 아직도 현역입니다!

자동 생성되는 속성



최근의 Objective-C의 상식에서는, 특별한 처리를 실시하지 않는 프로퍼티의 구현은 컴파일러 맡기는 것이 좋다고 되어 있습니다.

이런 느낌이군요.

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

@interface ClassA : NSObject

@property (copy) NSString *name;

@end

ClassA.m
#import "ClassA.h"

@implementation ClassA

@end

브레이크 포인트는 어디로 설정해야합니까?



자동 생성 된 속성에 누가 액세스했는지 확인하고 싶습니다. 그 때문에 브레이크 포인트를 넣고 싶지만 어디에 넣으면 좋을지 모른다. 어쩔 수 없으니까 스스로 액세서를 쓴다. 그런 일은 없습니까?
실은 아무것도 쓰지 않아도 여기에 브레이크 포인트를 넣을 수 있습니다.



프로퍼티의 선언부에 브레이크 포인트를 넣으면 setter, getter 쌍방에 브레이크 포인트를 넣은 것입니다.
문제 해결이군요.

setter만으로도 좋지만...



setter를 확인하고 싶은 것만으로 getter는 아무래도 좋다. 라고 할까, 일일이 getter로 멈추면 자주 멈추어 디버그가 되지 않는다.

그럴 때는 setter에만 브레이크 포인트를 넣어 봅시다.
포인트는 액세서는 자동이지만 구현되고 있다는 것입니다.

이렇게 하면 브레이크 포인트를 넣을 수 있습니다.

브레이크 포인트 네비게이터의 브레이크 포인트 추가에서 "Add Symbolic Breakpoint ..."를 선택하고,


setter 기호를 입력합니다. 지금의 경우는 -[ClassA setName:] 입니다.


무사히 setter만으로 브레이크했습니다.


요약



자동 생성되는 속성은 제대로 생성되었습니다!

좋은 웹페이지 즐겨찾기