các kiểu dữ liệu cơ bản trong Objective C

Như các bạn đã biết muốn tìm hiểu bất cứ ngôn ngữ  nào ban đầu ta luôn tìm hiểu các kiểu dữ liệu của chúng. Việc nắm bắt được phạm vi, cách dùng các kiểu dữ liệu giúp các bạn lập trình không bị sai, hiểu được cách quản lý từng đoạn code .

Bài đầu tiên mình giới thiệu cụ thể các kiểu dữ liệu nguyên thủy và các kiểu dữ liệu đối tượng trong Objective C.

1, Các kiểu dữ liệu nguyên thủy trong C :

Trong Objective C, hầu hết các kiểu dữ liệu cơ bản  trong ngôn ngữ lập trình C đều sử dụng được một cách trực tiếp bao gồm integer (int), float, char, double,float,enum, … Trong C++ cũng được dụng nhưng phải sử dụng file trung gian để kết nối.

 

Boolean bool
Ký tự char
Số nguyên int
Số thực float
Số thực dạng Double double
Kiểu không có giá trị void
Kiểu Wide character wchar_t
  • signed (kiểu có dấu)
  • unsigned (kiểu không có dấu)
  • short
  • long

Bảng sau đây giới thiệu giới thiệu giới hạn của các kiểu dữ liệu bên trên!

Kiểu Độ rộng bit Dãy giá trị
char 1 byte -127 tới 127 hoặc 0 tới 255
unsigned char 1 byte 0 tới 255
signed char 1 byte -127 tới 127
int 4 byte -2147483648 tới 2147483647
unsigned int 4 byte 0 tới 4294967295
signed int 4 byte -2147483648 tới 2147483647
short int 2 byte -32768 tới 32767
unsigned short int Range 0 tới 65,535
signed short int Range -32768 tới 32767
long int 4 byte -2,147,483,647 tới 2,147,483,647
signed long int 4 byte Tương tự như long int
unsigned long int 4 byte 0 tới 4,294,967,295
float 4 byte +/- 3.4e +/- 38 (~7 ký số)
double 8 byte +/- 1.7e +/- 308 (~15 ký số)
long double 8 byte +/- 1.7e +/- 308 (~15 ký số)
wchar_t 2 hoặc 4 byte 1 wide character

Các kiểu dữ trên trong Objective C sử dụng giống trong c cơ bản! ! !

EX:Cách khai báo

int a=5;
int b=10;
float c=6.1;
double d=8.1;
char str[5]="miss"
unsign int uI=8;

2, Các kiểu dữ liệu đối tượng trong Objective C:

  • NSString:Kiểu chuỗi ký tự trong Objective C. Kiểu NSString không thể thay đổi được hiểu là  thêm, xóa, sửa … chuỗi không bị thay đổi.
    EX: Chuỗi sau đây không bị thay đổi.
    Có 2 cách khai báo

    NSString *str0=[[NSString alloc ]init];// khai báo cách 1
        str0 =@"I LOVE";
        NSLog(@"%@",str0);
        NSString *str1=@"you";// khai báo cách 2 tắt
        NSLog(@"%@",str1);
        NSString *str2=@"quen";
        [str2 stringByAppendingString:str1];
        NSLog(@"%@",str2);

    =>kết quả trả về :”quen”.

  • NSData:Dùng để chứa dữ liệu binary. Bạn có thể sử dụng NSData để chứa dữ liệu binary của File, Image, String,music… Bạn cũng thường dùng NSData khi thực hiện request tới các web service.
  • NSObject: kiểu đối tượng gốc(root) được tạo ra để các đối tượng khác kế thừa .
  • id: Kiểu đối tượng chung trong Objective C. Nếu đối tượng kiểu id nó có thể nhận được giá trị của bất kỳ giá trị nào.
    id *doiTuong;
  •  NSMutableString: Kiểu chuỗi ký tự trong Objective C.  Kiểu NSMutableString có thể thay đổi được hiểu là  thêm, xóa, sửa … chuỗi bị thay đổi.
    lưu ý: NSMutableString không được  khai báo tắt .

    NSMutableString *str3=[[NSMutableString alloc]initWithString:@"miss"];
       [str3 appendString:@"la nho"];
       NSLog(@"%@",str3);
    

    => kết quả str3 bị thay đổi kết quả str3 là: “miss là nhớ”.
    Lưu ý : Từ giờ trở đi, kiểu NSMutable  luôn cho phép thay đổi dữ liệu được, thêm, sửa, xóa…

  • NSArray: kiểu đối tượng mảng chứa các kiểu dữ liệu khác, có thể bao gồm nhiều kiểu dữ liệu. Duyệt mảng thông qua giá trị chỉ số mảng tuần tự (index).
    cách khai báo cũng có 2 cách như trong ví dụ!
    EX:

    NSArray *arr0=[[NSArray alloc]init];// khởi tạo bộ nhớ
        arr0=@[@(1),@"2"];// cáh khai báo tắt
        NSLog(@"%@",arr0[0]);
        NSArray *arr1=[[NSArray alloc]initWithObjects:@"ngo",@(5), nil];// cách khai báo tổng quát.
        NSLog(@"%@",arr1[0]);

    kết quả trả về:

    1
    ngo
  • NSMutableArray:  tương tự như NSArray nhưng có thể update, insert,delete.
    ở đây mình minh họa về cách dùng thêm dữ liệu.
    lưu ý :NSMutableArray không được  khai báo tắt .
    ex:

    NSMutableArray *arr2=[[NSMutableArray alloc]initWithObjects:@(1),@(9), nil];
        [arr2 addObject:@"miss"];
        NSLog(@"%@",arr2);

    =>kết quả sẽ nhận được:

    (
        1,
        9,
        miss
    )

    Mảng arr2 bị thay đổi thêm đối tượng vào cuối!!!

  • NSDictionary: kiểu dữ liệu như cuốn từ điển gồm khóa(key) và giá trị (value) của từ khóa!!! .
    kiểu khai báo tổng quát! (“giá trị”,”key”,”giá trị2″,”key2″,nil).
  • NSDictionary *dict1=[[NSDictionary alloc]initWithObjectsAndKeys:@(1),@"key",@(2),@"key1", nil];

    Kiểu khai báo tắt!

    NSDictionary *dict=@{@"key1":@(1),@"key":@(2)};

    để duyệt Dictionary sử dụng chỉ số là từ khóa (key) để lấy giá trị value
    ex: để duyệt Dictionary  trên:

    NSLog(@"%d",dict[@"key"]);

    sẽ trả về value: 1 .

  • NSMutableDictionary: dùng tương tự như Dictionary  !!! khai báo tổng quát không được khai báo ngắn!. và cũng có thế update, insert,delete.
  • NSNumber : kiểu dữ liệu số bất cứ kiểu dữ liệu số gì khai báo chung : như double , interger, float ,char…
    NSNumber *numberA=@(8);
       NSLog(@"%@",numberA);

    kết quả trả về : 8

  • NSInteger: kiểu dữ liệu tương tự int trong C .
    NSInteger intA=7;
        NSLog(@"%d",intA+6);

    kết quả trả về : 13.

  • CGFloat: tương tự kiểu nguyên thủy float . framework graphic tùy biến thành CGFloat.

    CGFloat floatA=5;
        NSLog(@"%f",floatA);

    kết quả: 5

  • kiểu dữ  liệu true or false , YES or  NO .
    Ở đây:  có 3 kiểu chính:
    BOOL: YES/NO (8bit) dùng trong Objective C
    bool: true/false (16/32/64/…bit, tuỳ môi trường) kiểu c nguyên thủy tuy thế vẫn dùng được.
    Boolean: TRUE/FALSE (c, dùng với carbon, cái này hơi cổ), 8bit nguyên thủy của C.
    ex:

    Boolean boolA=TRUE;
        bool boolB=TRUE;
        BOOL boocC=YES;
        
        if (boolA) {
            NSLog(@"ok true A");
        }
        if (boolB) {
            NSLog(@"ok true B");
        }
        if (boocC) {
            NSLog(@"ok true C");

    trả về :

  • ok true A
  • ok true B
  • ok true C

Bài này mình giới thiệu các kiểu dữ cơ bản trong Objective C !
Trong phần tiếp theo mình sẽ giúp các bạn tìm hiểu về biến, hằng số, toán tử… !!!
hãy để lại comment và suy nghĩ của bạn !!! thanks all!!!

  • Nếu các bạn muốn biết thêm các kỹ thuật khác về ios, các bạn có thể tham khảo thêm các khóa học ios tại đây.

 

Add a Comment

Your email address will not be published. Required fields are marked *