이것은 객관적인 코드입니다.
@interface Foo : NSObject
{
NSInteger _a;
}
@property (nonatomaic, assign) NSInteger a;
@end
@implement Foo
@synthesize a = _a;
@end
당신은 '@ 합성'구를 알고 있습니다. @synthesize 벨로우즈 코드 생성.
- (NSInteger)a
{
return _a;
}
- (void)setA:(NSInteger)aa
{
return _a = aa;
}
속성 a에 액세스 해 보겠습니다. 1. 그러나 울부 짖는 소리와 같은 컴파일러 호출로
void main()
{
Foo foo = [[Foo alloc] init];
foo.a = 1;
}
에서 꼭 할당 foo.a.
void main()
{
Foo foo = [[Foo alloc] init];
[foo setA:1];
}
foo.a = 1이고 [foo setA : 1]은 같습니다. foo.a = 1은 [foo setA : 1]을 호출합니다.
class Foo
{
private:
int _a;
public:
int getA();
void setA(const int aa);
};
int Foo::getA()
{
return _a;
}
void Foo::setA(const int aa)
{
_a = aa;
}
// local allocation example.
void main()
{
Foo foo;
foo.setA(1);
}
// Heap allocation example.
void main()
{
Foo *foo = new Foo();
foo->setA(1);
delete foo;
}
// Pointer (like object objectve-c).
void main()
{
Foo foo1;
foo1.setA(1);
Foo *foo2 = &foo1;
foo2->setA(2);
printf("result>>> %d, %d", foo1.a, foo2->a);
}
result>>> 2, 2
foo1.a 및 foo2- C. 작성된
벨로는>은도 2이다. Objectve-C 예입니다.
void main()
{
Foo *foo1 = [[Foo alloc] init];
foo1.a = 1;
Foo *foo2 = foo1;
foo2.a = 2;
NSLog(@"result>>> %d, %d", foo1.a, foo2.a);
}
result>>> 2, 2
좋은 하루 보내십시오. 감사합니다.
AFAIK Objective-C에는'->'도 있습니다. –
'->'는 C에서 온 것입니다. – Pubby
아, ok 씨. – MCKapur