동일하지 않습니다.
첫 번째 버전에서는 어떤 클래스의 인스턴스 변수 인 myTableView
을 사용합니다.
두 번째 버전에서는 value를 사용하며 같은 이름의 메서드에서 반환됩니다. 첫 번째 단계에서 현재 클래스의 메서드 - (..)myTableView;
이 호출됩니다.이 메서드는 값을 반환합니다. 그리고 다음 단계에서 - 당신은 - (..)setSeparatorColor:..
반환 된 객체의 메소드를 사용합니다. 물론 (@synthesize myTableView;
또는 - (..)myTableView { return myTableView; }
과 같은 메소드 구현을 사용하는 경우) 첫 번째 버전과 동일한 변수이지만 필수 조건은 아닙니다 (구현에 따라 다름). 또한 - (..)myTableView;
에는 값을 반환하는 것이 아니라 부가적인 작업을 수행 할 수 있습니다.
예 (myTableView 및 [자기 myTableView 일부 조건에 따라 상이 할 수있다) :
// myClass.h
@interface myClass : UIViewController {
UITableView *myTableView;
}
@property (nonatomic, retain) UITableView *myTableView;
@end;
// myClass.m
#import "myClass.h"
@implementation myClass
@dynamic myTableView;
- (UITableView *)myTableView {
return (someConditionIsTrue) ? myTableView : nil;
}
- (void)setMyTableView:(UITableView *)value {
if (myTableView != value) {
[myTableView release];
myTableView = [value retain];
}
}
@end;
아니오가 다릅니다. 첫 번째 변수는 인스턴스 변수에 직접 액세스합니다. – JeremyP
그게 내가 말한 것이 아닌가? – Liam