04일차 OC 언어(04):property 강화
수독: 이 문장을 다 보고 나서 당신은 무엇을 할 수 있습니까?
property 내부에서 무슨 짓을 했는지 알 수 있습니다 1>setter 생성 방법, Getter 생성 방법 2>내부에 개인 변수 생성(구성원 변수) 3>과 @synthesize age가 다릅니다 @synthesize age;age에 직접 값 부여
학습 전: 당신은 반드시 무엇을 할 줄 알아야 합니까?
포장이 뭔지 알아요.
노트
、
Xcode4.4 Apple @property , @property setter 、 getter
@property , @property _
@property : getter\setter ,
, setter\getter
, ,
@property getter/setter , , _
: @property , .m , .h
、
setter , property getter
getter , property setter
getter/setter , @property
、 :
@synthesize
_age
@synthesize age; age;
코드
main.m
#pragma mark 04-property
#pragma mark
/*
、
Xcode4.4 Apple @property , @property setter 、 getter
@property , @property _
@property : getter\setter ,
, setter\getter
, ,
@property getter/setter , , _
: @property , .m , .h
、
setter , property getter
getter , property setter
getter/setter , @property
、 :
@synthesize
_age
@synthesize age; age;
*/
#pragma mark -
#import
#pragma mark
#import "Person.h"
#pragma mark - main
int main(int argc, const char * argv[])
{
Person *p = [Person new];
[p setAge:25];
// NSLog(@"age = %i",[p age]);
#pragma age? _age?
/*
:
@synthesize
_age
@synthesize age; age;
*/
// NSLog(@"age = %i, _age = %i",p->age,p->_age);
// p->_age
return 0;
}
Person
>>>.h
#import
@interface Person : NSObject
/*
{
@public
int _age;
int age;
}
*/
#pragma @property
/*
Xcode4.4 Apple @property , @property setter 、 getter
@property , @property _
@property : getter\setter ,
, setter\getter
, ,
@property getter/setter , , _
: @property , .m , .h
*/
/*
- (void)setAge:(int)age;
- (int)age;
*/
// age _age?
@property int age;
@end
>>>.m
#import "Person.h"
@implementation Person
/*
{
int _age;
}
- (void)setAge:(int)age
{
_age = age;
}
- (int)age
{
_age = age;
}
*/
/*
setter , property getter
getter , property setter
getter/setter , @property
*/
- (void)setAge:(int)age
{
if (age < 0) {
age = 0;
}
_age = age;
}
@end
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.