iOS - Mục tiêu C

Ngôn ngữ được sử dụng trong phát triển iOS là mục tiêu C. Đây là ngôn ngữ hướng đối tượng và do đó, sẽ dễ dàng đối với những người đã có một số nền tảng về ngôn ngữ lập trình hướng đối tượng.

Giao diện và triển khai

Trong Objective C, tệp nơi khai báo lớp được thực hiện được gọi là interface file và tệp nơi lớp được định nghĩa được gọi là implementation file.

Một tệp giao diện đơn giản MyClass.h sẽ giống như sau -

@interface MyClass:NSObject { 
   // class variable declared here
}

// class properties declared here
// class methods and instance methods declared here
@end

Tệp triển khai MyClass.m sẽ như sau -

@implementation MyClass
   // class methods defined here
@end

Tạo đối tượng

Việc tạo đối tượng được thực hiện như sau:

MyClass  *objectName = [[MyClass alloc]init] ;

Phương pháp

Phương thức được khai báo trong Objective C như sau:

-(returnType)methodName:(typeName) variable1 :(typeName)variable2;

Một ví dụ đã được biểu diễn ở dưới.

-(void)calculateAreaForRectangleWithLength:(CGfloat)length 
andBreadth:(CGfloat)breadth;

Bạn có thể tự hỏi những gì andBreadthchuỗi là cho; thực ra đó là một chuỗi tùy chọn, giúp chúng ta đọc và hiểu phương thức một cách dễ dàng, đặc biệt là tại thời điểm gọi. Để gọi phương thức này trong cùng một lớp, chúng ta sử dụng câu lệnh sau:

[self calculateAreaForRectangleWithLength:30 andBreadth:20];

Như đã nói ở trên, việc sử dụng andBreadth giúp chúng ta hiểu rằng độ rộng là 20. Self được sử dụng để chỉ định rằng đó là một phương thức lớp.

Phương pháp lớp học

Các phương thức của lớp có thể được truy cập trực tiếp mà không cần tạo các đối tượng cho lớp. Chúng không có bất kỳ biến và đối tượng nào được liên kết với nó. Một ví dụ đã được biểu diễn ở dưới.

+(void)simpleClassMethod;

Nó có thể được truy cập bằng cách sử dụng tên lớp (giả sử tên lớp là MyClass) như sau:

[MyClass simpleClassMethod];

Phương pháp phiên bản

Phương thức instance chỉ có thể được truy cập sau khi tạo một đối tượng cho lớp. Bộ nhớ được cấp cho các biến cá thể. Dưới đây là một phương thức ví dụ.

-(void)simpleInstanceMethod;

Nó có thể được truy cập sau khi tạo một đối tượng cho lớp như sau:

MyClass  *objectName = [[MyClass alloc]init] ;
[objectName simpleInstanceMethod];

Các kiểu dữ liệu quan trọng trong Mục tiêu C

Sr.No. Loại dữ liệu
1

NSString

Nó được sử dụng để biểu diễn một chuỗi.

2

CGfloat

Nó được sử dụng để biểu diễn một giá trị dấu phẩy động (float bình thường cũng được phép nhưng tốt hơn nên sử dụng CGfloat).

3

NSInteger

Nó được sử dụng để biểu diễn số nguyên.

4

BOOL

Nó được sử dụng để đại diện cho Boolean (CÓ hoặc KHÔNG đều được phép sử dụng các loại BOOL).

In Nhật ký

NSLog - được sử dụng để in một câu lệnh. Nó sẽ được in trong nhật ký thiết bị và bảng điều khiển gỡ lỗi ở các chế độ phát hành và gỡ lỗi tương ứng. Ví dụ,

NSlog(@"");

Cấu trúc điều khiển

Hầu hết các cấu trúc điều khiển đều giống như trong C và C ++, ngoại trừ một số bổ sung như for trong câu lệnh.

Tính chất

Đối với một lớp bên ngoài để truy cập lớp, các thuộc tính biến được sử dụng. Ví dụ,

@property(nonatomic , strong) NSString *myString;

Truy cập thuộc tính

Bạn có thể sử dụng toán tử dấu chấm để truy cập thuộc tính. Để truy cập thuộc tính trên, chúng ta sẽ làm như sau.

self.myString = @"Test";

Bạn cũng có thể sử dụng phương pháp thiết lập như sau:

[self setMyString:@"Test"];

Thể loại

Các danh mục được sử dụng để thêm các phương thức vào các lớp hiện có. Bằng cách này, chúng ta có thể thêm phương thức vào các lớp mà chúng ta không có các tệp triển khai, nơi lớp thực được định nghĩa. Một loại mẫu cho lớp của chúng tôi như sau:

@interface MyClass(customAdditions)
- (void)sampleCategoryMethod;
@end

@implementation MyClass(categoryAdditions)

-(void)sampleCategoryMethod {
   NSLog(@"Just a test category");
}

Mảng

NSMutableArray và NSArray là các lớp mảng được sử dụng trong mục tiêu C. Như tên cho thấy, lớp trước là có thể thay đổi và lớp sau là bất biến. Một ví dụ đã được biểu diễn ở dưới.

NSMutableArray *aMutableArray = [[NSMutableArray alloc]init];
[anArray addObject:@"firstobject"];
NSArray *aImmutableArray = [[NSArray alloc]
initWithObjects:@"firstObject",nil];

Từ điển

NSMutableDictionary và NSDictionary là các lớp từ điển được sử dụng trong mục tiêu C. Như tên cho thấy, lớp trước là có thể thay đổi và lớp sau là bất biến. Một ví dụ đã được biểu diễn ở dưới.

NSMutableDictionary *aMutableDictionary = [[NSMutableArray alloc]init];
[aMutableDictionary setObject:@"firstobject" forKey:@"aKey"];
NSDictionary*aImmutableDictionary= [[NSDictionary alloc]initWithObjects:[NSArray arrayWithObjects:
@"firstObject",nil] forKeys:[ NSArray arrayWithObjects:@"aKey"]];