Objective-C 기본 사항
Objective-C 소개
Objective C 언어는 iOS 개발에 사용되는 객체지향 언어이므로 이미 객체지향 언어에 대한 지식이 있는 프로그래머에게는 매우 간단합니다.
인터페이스 및 구현
Objective에서 완성된 파일을 인터페이스 파일이라고 하며, 이러한 유형의 파일에 대한 정의를 구현 파일이라고 합니다.
간단한 인터페이스 파일 MyClass.h는 그림과 같습니다.
@interface MyClass:NSObject{ // 类变量声明}// 类属性声明// 类方法和声明@end
아래와 같이 MyClass.m 파일을 실행합니다.
@implementation MyClass// 类方法定义@end
객체 생성
아래와 같이 객체 생성을 완료합니다
MyClass *objectName = [[MyClass alloc]init] ;
methods )
Objective C에서 선언된 메서드는 다음과 같습니다.
-(returnType)methodName:(typeName) variable1 :(typeName)variable2;
예는 아래와 같습니다.
-(void)calculateAreaForRectangleWithLength:(CGfloat)length andBreadth:(CGfloat)breadth;
andBreadth 문자열이 무엇인지 생각할 수 있지만 실제로는 선택적 문자열이 메서드를 읽고 이해하는 데 도움이 될 수 있습니다. 특히 메서드가 다음과 같은 경우에는 더욱 그렇습니다. 라고 불리는.
동일한 클래스에서 이 메소드를 호출하려면 다음 명령문을 사용합니다.
[self calculateAreaForRectangleWithLength:30 andBreadth:20];
위에서 언급했듯이 andBreath를 사용하면 호흡이 20이라는 것을 이해하는 데 도움이 됩니다. Self는 클래스의 메서드임을 지정하는 데 사용됩니다.
클래스 메서드객체를 생성하지 않고도 클래스 메서드에 직접 액세스할 수 있습니다. 여기에는 연결된 변수나 개체가 없습니다. 예는 다음과 같습니다.
+(void)simpleClassMethod;
아래와 같이 클래스 이름(MyClass 클래스 이름으로 가정)을 사용하여 액세스할 수 있습니다.
[MyClass simpleClassMethod];Instance 메서드
클래스의 객체를 생성하고 인스턴스 메서드에만 액세스할 수 있습니다. 메모리가 인스턴스 변수에 할당된 후. 인스턴스 메소드는 다음과 같습니다:
-(void)simpleInstanceMethod;
클래스의 객체를 생성한 후, 클래스에 접근할 수 있습니다. 아래와 같이
MyClass *objectName = [[MyClass alloc]init] ;[objectName simpleInstanceMethod];
Objective C의 중요 데이터 유형
일련번호 | 데이터 유형 |
---|---|
1 | NSString string |
2 | CGfloat 기본 부동 소수점 값 유형 |
3 | NSInteger 정수형 |
4 | BOOL 부울형 |
Print Log
NSLog는 명령문을 인쇄하는 데 사용되며, 이는 장치 로그와 디버그 버전 및 디버그 모드의 콘솔에 각각 인쇄됩니다.
예: NSlog(@"");
제어 구조
몇 가지 추가 용어를 제외하고 대부분의 제어 구조 C 및 C++와 동일합니다. 🎜#예: @property(비원자, 강력) NSString*myString
액세스 속성
#🎜 🎜#점 연산자를 사용하여 속성에 액세스할 수 있습니다. 이전 속성에 액세스하려면 다음 작업을 수행할 수 있습니다.self.myString = @"Test";아래와 같이 set 메서드를 사용할 수도 있습니다.
[self setMyString:@"Test"];
Categories
클래스는 기존 클래스에 메서드를 추가하는 데 사용됩니다. 이렇게 하면 실제 클래스를 정의하는 파일을 실행하지 않고도 클래스에 메서드를 추가할 수 있습니다. MyClass의 샘플 카테고리는 다음과 같습니다:@interface MyClass(customAdditions)- (void)sampleCategoryMethod;@end@implementation MyClass(categoryAdditions)-(void)sampleCategoryMethod{ NSLog(@"Just a test category");}
Arrays
NSMutable 및 NSArray는 ObjectiveC에서 사용되는 배열 클래스이며, 전자는 변수 배열, 후자는 불변 배열입니다. 다음과 같습니다: NSMutableArray *aMutableArray = [[NSMutableArray alloc]init];[anArray addObject:@"firstobject"];NSArray *aImmutableArray = [[NSArray alloc]initWithObjects:@"firstObject",nil];
NSMutableDictionary*aMutableDictionary = [[NSMutableArray alloc]init];[aMutableDictionary setObject:@"firstobject" forKey:@"aKey"];NSDictionary*aImmutableDictionary= [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects:@"firstObject",nil] forKeys:[ NSArray arrayWithObjects:@"aKey"]];