Tải bản đầy đủ (.doc) (4 trang)

Bài 7 các đối tượng cơ bản trong objective c

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (96.43 KB, 4 trang )

Bài 7: Các Đố
i t ượ
n g c ơbả
n trong Objective-C
Tr ướ
c khi ti ế
n hành, b ạ
n ph ả
i nh ớ m ộ
t quy ướ
c:
- Khi nh ắ
c đế
n th ứ t ự
, thì th ứ t ự c ủ
a v ị trí đầ
u tiên đượ
c tính là 0 (b ắ
t đầ
u t ừ 0)
- Khi nh ắ
c đế
n s ố l ượ
n g thì s ố l ượ
n g đầ
u tiên đượ
c tính là 1 (b ắ
t đầ
u t ừ 1)
1. NSString:
Nh ư các b ạ


n bi ế
t, String là chu ỗ
i (trong các ngôn ng ữ l ậ
p trình).
Vậ
y NSString là gì? Là m ộ
t đố
i t ượ
n g . Khi t ạ
o mộ
t bi ế
n vớ
i đố
i t ượ
n g này, ta s ẽ có n ơi l ư
u
tr ữ chu ỗ
i cầ
n thi ế
t và không gi ới h ạ
n v ềđộ dài c ủ
a chu ỗ
i mà b ạ
n lư
u vào bi ế
n đ
ó.
Cách khai báo:
NSString *Chuoi1;
// Khai báo biến có tên là Chuoi1

NSString *Chuoi2 = [NSString stringWithFormat:@"Day la chuoi 1"];
// Khai báo biến có tên là Chuoi2 và gán giá trị "Đây là chuỗi 1" vào biến vừa tạo
NSString *Chuoi3 = [NSString stringWithString:Chuoi2];
// Khai báo biến có tên là Chuoi3 và gán giá trị của Chuoi2 cho Chuoi3 vừa tạo

Các hàm xử lý chuỗi đối v ới NSString:
– length: lấy độ dài của chuỗi
NSLog(@"%ld", [Chuoi2 length]);

– characterAtIndex: Lấy ra kỹ tự ở vị trí chỉ định
NSLog(@"%c", [Chuoi2 characterAtIndex:5]);

– componentsSeparatedByString: Cắt chuỗi thành nhiều phần
NSLog(@"%@", [Chuoi2 componentsSeparatedByString:@"la"]);

– substringFromIndex: Lấy ra chuỗi con tính t ừ vị trí chỉ định đến cuối chuỗi
NSLog(@"%@", [Chuoi2 substringFromIndex:3]);

– substringToIndex: Lấy ra chuỗi con tính t ừ vị trí chỉ định đến đầu chuỗi
NSLog(@"%@", [Chuoi2 substringToIndex:3]);

– rangeOfString: Tìm xem một chuỗi nào có có tồn tại trong chuỗi cho tr ước hay không
NSLog(@"%lu", [Chuoi2 rangeOfString:@"chuoi"].location);

– stringByReplacingOccurrencesOfString:withString: Thay thế một chuỗi bằng một chuỗi
m ới trong chuỗi cho tr ước
NSLog(@"%@", [Chuoi2 stringByReplacingOccurrencesOfString:@"1"withString:@"da bi thay the"]);

– compare: So sánh hai chuỗi v ới nhau
NSLog(@"%ld", [Chuoi2 compare:@"Day la chuoi 3"]);



// 0 nghĩa là 2 chuỗi giống nhau, -1 nghĩa là hai chuỗi khác nhau

– intValue: Lấy số nguyên ra từ chuỗi.
NSLog(@"%i", [Chuoi2 intValue]);

2. NSMutableString
MutableString cũng tương t ự nh ư String, nh ưng MutableString thì có thể chỉnh s ửa được
đến t ừng ký t ự bên trong chuỗi.
Còn String chỉ có thể gán, thay thế toàn bộ giá trị trong đó,... Tí n ữa, khi nhìn một số hàm
khác, bạn sẽ hiểu.
Hiểu nôm na là String thì khả năng thay thế, x ử lý chuỗi hạn chế h ơn MutableString.
*** Và từ nay về sau, khi một đối tượng nào có tính "Mutable" (ví dụ: MutableString,
MutableArray, MutableDictionary, ...) thì bạn sẽ hiểu là tính thay thế, chỉnh s ửa giá trị
sẽ dễ dàng, thuận tiện. Và ngoài ra còn gọi đó là tính "động" của giá trị.
Cách khai báo:
NSMutableString *ChuoiDong1;
NSMutableString *ChuoiDong2 = [[NSMutableString alloc] init];
NSMutableString *ChuoiDong3 = [NSMutableString stringWithString:Chuoi2];
// Các bạn cũng khai báo hoàn toàn giống với String tĩnh.
// Có điều, nếu muốn một MutableString hoạt động, bạn cần gán vùng nhớ cho nó bằng cách init (dòng 2) hoặc gán
ngay vào đó một chuỗi bất kỳ, hoặc một chuỗi không có ký tự (@"")

Các hàm xử lý chuỗi v ới MutableString:
Hoàn toàn giống với String, MutableString kế th ừa toàn bộ những hàm mà String có.
Ngoài ra còn thêm một số hàm mà bạn cần quan tâm như sau:
– appendFormat: Ghép thêm một chuỗi v ới các định dạng thêm vào cuối chuỗi đã cho
[ChuoiDong3 appendFormat:@" - abc - "];
NSLog(@"%@", ChuoiDong3);


– appendString: Ghép thêm một chuỗi bất kỳ vào cuối chuỗi đã cho
[ChuoiDong3 appendString:Chuoi2];
NSLog(@"%@", ChuoiDong3);

– deleteCharactersInRange: Xoá ký tự bất kỳ trong chuỗi v ới vị trí đượ c chỉ định
[ChuoiDong3 deleteCharactersInRange:NSMakeRange(2, 3)];
NSLog(@"%@", ChuoiDong3);

– insertString:atIndex: Chèn thêm chuỗi vào vị trí đượ c chỉ định
[ChuoiDong3 insertString:@"INSERT"atIndex:3];
NSLog(@"%@", ChuoiDong3);

– replaceCharactersInRange:withString: Thay thế ký t ự ở vị trí chỉ định v ới một chuỗi bất kỳ
[ChuoiDong3 replaceCharactersInRange:NSMakeRange(1, 2) withString:@"-REPLACE-"];
NSLog(@"%@", ChuoiDong3);


3. NSArray
Đây là mảng.
Mảng là tập hợp nhiều giá trị v ới nhau có cùng hoặc khác kiểu (tuỳ theo mục đích s ử dụng).
Bạn có thể đọc thêm về mảng ở đây: />Cách khai báo:
NSArray *Mang1;
NSArray *Mang2 = [NSArray arrayWithObjects:@"ky tu", @"ky tu 2", @"chuoi", nil];
NSArray *Mang3 = [NSArray arrayWithObjects:@"abc", @"def",nil];
NSArray *Mang4 = [NSArray arrayWithArray:Mang2];

Các hàm xử lý, thao tác với mảng:
– containsObject: Kiểm tra xem trong mảng phần t ử nào đó hay không
[Mang2 containsObject:@"ky tu"] ? NSLog(@"Co") : NSLog(@"khong");


– count: Đếm số phần tử trong mảng
NSLog(@"%ld", [Mang2 count]);

– lastObject: Lấy ra phần tử cuối cùng
NSLog(@"%@", [Mang2 lastObject]);

– objectAtIndex: Lấy ra pần tử ở thứ tự chỉ định
NSLog(@"%@", [Mang2 objectAtIndex:0]);
// Thứ tự thứ 0 là phần tử đầu tiên trong mảng.

– objectsAtIndexes: Lấy ra các ký tự ở các vị trí chỉ định
NSArray *MangCon = [Mang2 objectsAtIndexes:[NSIndexSetindexSetWithIndexesInRange:NSMakeRange(1, 3)]];
// Lấy các phần tử từ thứ tự thứ 1 trở đi và lấy 3 phần tử.

– indexOfObject: Tìm vị trí của phần t ử trong mảng
NSLog(@"%ld", [Mang2 indexOfObject:@"ky tu"]);

Sau mỗi hàm, các bạn muốn biết cụ thể về các phần t ử trong mảng, bạn có thể dùng đoạn
code bên dưới để xem.
for (int i = 0; i < [Mang2 count]; i++) {
NSLog(@"%@", [Mang2 objectAtIndex:i]);
}

4. NSMutableArray
Thông qua MutableString, bạn sẽ hiểu ngay MutableArray sẽ tạo ra một biến mà các phần
t ử trong mảng đó có thể thay đổi (thay thế, xoá, thêm vào, ...).
Cách khai báo:
NSMutableArray *MangDong1;
NSMutableArray *MangDong2 = [[NSMutableArray alloc] init];

NSMutableArray *MangDong3 = [NSMutableArray arrayWithObjects:@"So 1", @"So 2", nil];
NSMutableArray *MangDong4 = [NSMutableArray arrayWithArray:Mang2];


Các hàm thao tác v ới mảng “Mutable”:
Ngoài các hàm đượ c kế thừa từ Array, bạn có thêm các mảng sau để xử lý mảng động:
– addObject: Thêm một phần tử vào cuối mảng
[MangDong3 addObject:@"Love"];

– addObjectsFromArray: Thêm nhiều phần tử từ 1 mảng bên ngoài vào
[MangDong3 addObjectsFromArray:Mang2];

– insertObject:atIndex: Chèn một phần tử vào mảng v ới vị trí chỉ định
[MangDong3 addObjectsFromArray:Mang2];

– insertObjects:atIndexes: Chèn nhiều phần tử vào mảng với các vị trí chỉ định
[MangDong3 insertObjects:Mang2 atIndexes:[NSIndexSetindexSetWithIndexesInRange:NSMakeRange(3, 2)]];

– removeLastObject: Xoá phần tử cuối cùng
[MangDong3 removeLastObject];

– removeObject: Xoá phần tử được chỉ định
[MangDong3 removeObject:@"Love"];

– removeObjectAtIndex: Xoá phần tử ở vị trí nào đó
[MangDong3 removeObjectAtIndex:3];

– replaceObjectAtIndex:withObject: Thay thế phàn tử ở vị trí chỉ định v ới một phần t ử khác
[MangDong3 replaceObjectAtIndex:1withObject:@"THAY THE"];


– removeAllObjects: Xoá toàn bộ các phần tử trong mảng
[MangDong3 removeAllObjects];

5. Bài tập:
1. Cho chuỗi “Cộng hoà xã hội chủ nghĩa Việt Nam”.
Với 3 hàm bất kỳ, hãy đưa ra 3 cách để lấy chuỗi "xã hội” ra khỏi chuỗi cho tr ước.
2. Cho mảng có 3 phần tử: 4, 5, 6.
Hãy sắp xếp các số trong mảng theo thứ tự tăng dần.
Và sắp xếp các số trong mảng theo thứ tự giảm dần.

Hai bài tập nhẹ nhàng như vậy. Các bạn giải xong thì đăng lên đây để mọi ng ười cùng theo
dõi nhé.
Link Project để các bạn tham
khảo: />Cảm ơn các bạn quan tâm.



×