Download - Lập trình iphone
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 1/19
Lập trình iphone
IPHONE - SẢN PHẨM LÀM NÊN CUỘC CÁCH MẠNG TRONG LĨNH VỰC ĐIỆ
THOẠI THÔNG MINH
IPhone là gì ?
- IPhone là một điện thoại di động tích hợp và máy
nghe nhạc đa phương tiện được phát bởi Apple.
Thiết bị này kết hợp các chức năng chính của một
số tiện ích phổ biến điện tử trong một thiết bị duy
nhất, với một giao diện được chia sẻ và hội nhậpgiữa chúng. Ngoài chức năng chính của nó như là
một điện thoại di động, iPhone còn bao gồm máy
nghe nhạc, xem video, máy ảnh kỹ thuật số, PDA,
và là một bộ truyền thông Internet.
Lịch sử phát triển của Iphone :
- IPhone đầu tiên đã được công bố bởi cựu Giám đốc
điều hành Steve Jobs của Apple vào ngày
09/01/2007 và phát hành vào ngày 29/06/2007.
IPhone thế hệ thứ 5, iPhone 4S, được công bố vào
ngày 04/10/2011, và phát hành vào ngày 14/10/2011, hai ngày sau khi phát hành iOS 5.0,
điều hành của Apple cho các thiết bị cầm tay .
Điều gì tạo nên sự khác biệt của Iphone ?
1. Màn hình cảm ứng rộng
- Với Iphone , màn hình chính là điện thoại . Mọi thứ được thực hiện thông qua màn h
cảm ứng 3.5 inch và ngày càng lớn hơn qua các phiên bản tiếp theo của IPhone .
2. Cảm ứng đa điểm
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 2/19
- Iphone chính là điện thoại thông minh đầu tiên sở hữu chức năng cảm ứng đa điểm . Ta
thể phóng to một trang web , một bức ảnh hoặc một tấm bản đồ bằng cách sử dụng
ngón tay .
3. Sensors (Bộ cảm biến)
- Cảm biến thứ nhất là gia tốc kế, khi bạn quay ngang điện thoại , nó sẽ tự động thay đổi mhình hiển thị theo chế độ phong cảnh. Tính năng này là vô cùng hữu ích để xem ảnh to
cảnh, video hoặc lướt qua các album của các bạn…
- Cảm biến thứ hai phát hiện ánh sáng xung quanh và điều chỉnh độ sáng của màn hình p
hợp để tiết kiệm năng lượng.
- Cảm biến thứ ba sẽ vô hiệu hóa màn hình khi bạn hướng điện thoại về phía khuôn mặt c
bạn, vì vậy bạn sẽ không được quay số trong khi nói chuyện trên thiết bị.
4. Iphone OS Platform (iOS)
- IPhone sử dụng hệ điều hành có nguồn gốc từ Mac OS .
I. Các lớp và nền tảng của iOS
1. Tổng quan về iOS.
• iOS (trước đây được gọi là iPhone OS) là hệ điều hành di động của Apple. Đầu tiên OS
được phát triển cho iPhone, sau này đã được mở rộng để hỗ trợ các thiết bị khác của Appl
chẳng hạn như iPad , iPod…
• iOS bao gồm hệ điều hành và các công nghệ mà bạn sử dụng để chạy các ứng dụng nguy
bản trên các thiết bị, chẳng hạn như iPad, iPhone, và iPod touch. Mặc dù chia sẻ một thà
tựu chung và các công nghệ cơ bản với hệ điều hành Mac OS X, IOS được thiết kế để đ
ứng nhu cầu của một môi trường di động, nơi mà nhu cầu của người sử dụng hơi khác nh
Nếu trước đó bạn đã phát triển các ứng dụng cho Mac OS X, bạn sẽ tìm thấy nhiều cô
nghệ quen thuộc, nhưng bạn cũng sẽ tìm thấy công nghệ chỉ có trên iOS, chẳng hạn như g
diện Multi-Touch và hỗ trợ gia tốc.
• IOS SDK có chứa mã, thông tin, và các công cụ bạn cần để phát triển, kiểm tra, chạy, gỡ
và điều chỉnh các ứng dụng cho iOS. Các công cụ của Xcode cung cấp các chức năng chỉ
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 3/19
sửa cơ bản, biên soạn, và môi trường gỡ rối cho mã của bạn. Xcode cũng cung cấp điểm
mắt để thử nghiệm các ứng dụng của bạn trên một thiết bị iOS, và iOS Simulator-một n
tảng mô phỏng môi trường cơ bản iOS nhưng chạy trên máy tính Macintosh địa phương c
bạn.
2. Kiến trúc của iOS
• Kiến trúc iOS là tương tự như kiến trúc cơ bản trong Mac OS X. Ở tầng cao nhất (t
layer), iOS hoạt động như một trung gian giữa phần cứng cơ bản và các ứng dụng xuất hiện tr
màn hình. Các ứng dụng mà bạn tạo ra hiếm khi tương tác trực tiếp với phần cứng cơ bản. Th
vào đó, các ứng dụng giao tiếp với phần cứng thông qua một tập hợp các các giao diện hệ thố
cũng được xác định bảo vệ ứng dụng của bạn từ những thay đổi phần cứng. Sự trừu tượng n
làm cho nó dễ dàng để viết các ứng dụng làm việc nhất quán trên các thiết bị với các khả nă
hỗ trợ phần cứng khác nhau.
Figure 1-1 Applications layered on top of iOS
• Nhân của iOS được dựa trên nhân của Mac cơ bản được tìm thấy trong hệ đ
hành Mac OS X. Lớp trên cùng của nhân này là các lớp dịch vụ được sử dụng
thực hiện các ứng dụng trên nền tảng này.Hình 1-2 cho thấy một cái nhìn tổ
quan của các lớp
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 4/19
Figure 1-2 iOS technology layers
• Các tầng này cung cấp cho bạn những sự lựa chọn khi thực hiện mã. Ví dụ, tầng Core OS
Core Services chứa các giao diện cơ bản cho iOS, bao gồm cả những các chức năng tr
cập các tập tin, các kiểu dữ liệu cấp thấp, các dịch vụ Bonjour, ổ cắm mạng... Các giao d
này chủ yếu là dựa trên ngôn ngữ C và bao gồm các công nghệ như Core Foundatio
CFNetwork, SQLite và truy cập vào các luồng POSIX và ổ cắm UNIX
Khi di chuyển vào các tầng trên, bạn tìm thấy công nghệ tiên tiến hơn sử dụng giao diện d
trên sự kết hợp của C và Objective-C. Ví dụ, các tầng Media bao gồm các công nghệ cơ b
được sử dụng để hỗ trợ bản vẽ 2D và 3D, âm thanh và video. Lớp này bao gồm công ng
OpenGL ES, Quartz, Core Audio. Nó cũng chứa Core Animation, là một engine cao cấp
dụng Objective-C để tạo ra các animation .Trong tầng Cocoa Touch, hầu hết các công ng
đều sử dụng ngôn ngữ Objective-C. Các nền tảng tại tầng này cung cấp cơ sở hạ tầng cơ b
được sử dụng bởi ứng dụng của bạn. Ví dụ, framework Foundation chứa các thư viện hỗ
các tập hợp, việc quản lý tập tin, các xử lý mạng và nhiều hơn nữa. Framework UIKit cu
cấp công cụ trực quan cho các ứng dụng của bạn, bao gồm các lớp cho các Views , c
Controls và các điều khiển , quản lý các đối tượng. Các framework khác ở cấp độ này cu
cấp cho bạn truy cập vào các thông tin liên lạc của người dùng và thông tin hình ảnh cho đ
các chức năng của gia tốc kế và các tính năng phần cứng khác của thiết bị.
• Điểm khởi đầu cho bất kỳ project mới là tầng Cocoa Touch và đặc biệt là frameword UIK
Khi quyết định những công nghệ bổ sung để sử dụng, bạn nên bắt đầu với các framewo
trong các tầng cao cấp hơn.
II. iOS SDK (Software Development Kit)
- iOS SDK (Software Development Kit) (trước đây là iPhone SDK) là một bộ phát tr
phần mềm được phát triển bởi Apple Inc và phát hành vào tháng 2 năm 2008 để phát triển c
ứng dụng bản địa cho iOS.
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 5/19
1. Lịch sử của iOS SDK
- Ngày 17 tháng 10, năm 2007, Steve Jobs thông báo rằng một bộ phát triển phần mềm (SD
sẽ được thực hiện cho nhà phát triển bên thứ ba trong tháng 2 năm 2008. Bộ SDK này đư
phát hành vào ngày 6 tháng 3 năm 2008, và cho phép các nhà phát triển các ứng dụng c
iPhone và iPod Touch, cũng như kiểm tra chúng trên "iPhone simulator". Tuy nhiên, tải m
ứng dụng vào các thiết bị chỉ có thể được thực hiện sau khi nộp một khoản phí phát tr
chương trình iPhone, đó là $ 99,00 USD mỗi năm .Kể từ khi phát hành của Xcode 3
Xcode là môi trường phát triển cho các SDK IOS. các ứng dụng iPhone, giống như hệ đ
hành Mac OS X, được viết bằng ngôn ngữ Object-C, và một số thành phần của một ứ
dụng có thể được viết bằng C hoặc C + +.
2. Các phiên bản chính của iOS SDK
- iOS 1.2b1 Beta 1 được phát hành ngày 6/3/2008 .
- iOS 2.0 Final được phát hành ngày 11/7/2008 .
- iOS 3.0 Final được phát hành ngày 17/6/2009 .
- iOS 4.0 Final được phát hành ngày 21/6/2010.
- iOS 4.3 Final được phát hành ngày 9/3/2011 .
- iOS 5.0 Final được phát hành ngày 12/10/2011 .
3. Nội dung của SDK
- IOS sử dụng một biến thể của nhân XNU trong Mac OS X, chuỗi công cụ được sử dụng
phát triển trên IOS cũng dựa trên Xcode.
-
Bộ SDK có thể được chia thành các phần sau :
• Cocoa Touch
o Các controls và các sự kiện Multi-touch
o Hỗ trợ gia tốc
o Hệ thống phân cấp
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 6/19
o Hỗ trợ camera
• Media
o OpenAL
o
Âm thanh và ghi âm
o Chơi video
o Các định dạng tập tin hình ảnh
o Quartz
o Core Animation
o OpenGL ES
• Core services (Các dịch vụ chính)
o Dịch vụ mạng
o Cơ sở dữ liệu SQLite
o Core Location
o Các luồng (threads)
• Nhân Mac OS X
o TCP/IP
o Các socket
o Quản lý năng lượng
o File hệ thống
o Bảo mật
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 7/19
- Cùng với Xcode toolchain, SDK có chứa iPhone Simulator , một chương trình được sử dụng
mô phỏng cái nhìn và cảm nhận của iPhone trên máy tính của nhà phát triển. Nguyên gọi
Simulator Aspen, nó được đổi tên cùng với việc phát hành phiên bản Beta 2 của SDK.
III. Lập trình IPhone
1. Cần gì để có thể lập trình cho IPhone ?
Máy Mac chạy phiên bản Leopard hoặc hơn
Xcode/SDK ( có thể download tại web của apple )
OOP Programming
Objective – C
2. Xcode
Gói công cụ phát triển Xcode cho các nhà
phát triển phần mềm cung cấp tất cả mọi
thứ bạn cần để tạo ra các ứng dụng tuyệt
vời cho Mac, iPhone, và iPad.Xcode được
tích hợp chặt chẽ với Cocoa và Cocoa
Touch frameworks, tạo ra một môi trường
phát triển đủ mạnh mẽ và dễ sử dụng để trở thành các công cụ chung được sử dụng
Apple để sản xuất hệ điều hành Mac OS X và iOS. Bộ công cụ Xcode bao gồm Xco
IDE tuyệt vời, với công cụ giao diện thiết kế Interface Builder và trình biên dịch tích h
đầy đủ Apple LLVM. Các công cụ dụng cụ phân tích cũng được bao gồm, cùng với hà
chục công cụ phát triển hỗ trợ khác.
Xcode IDE
• Được thiết kế từ gốc lên để tận dụng lợi thế của công
nghệ mới nhất của Apple, Xcode IDE tích hợp tất cả các
công cụ bạn cần. Giao diện thống nhất suốt quá trình
chuyển đổi từ soạn thảo mã nguồn, gỡ lỗi, và thậm chí
khâu thiết kế giao diện người dùng hấp dẫn, tất cả trong
cùng một cửa sổ.
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 8/19
• Không gian làm việc của Xcode là tất cả những gì mà bạn cần tập trung. Khi bạn v
code, Live Issues ngay lập tức sẽ cảnh báo bạn những sai lầm về mã, hiển thị m
bong bóng tin nhắn bên cạnh mã của bạn để biết thêm chi tiết. Nhấn nút Run để kh
động ứng dụng Mac của bạn, hoặc tải lên các ứng dụng cho thiết bị thử nghiệm c
bạn, và ngay lập tức bắt đầu gỡ lỗi. Đưa con trỏ chuột trên một biến để kiểm tra giá
của nó trong thời gian chạy, không bao giờ mất vị trí của bạn trong trình soạn thảo.
• Bằng cách làm việc chặt chẽ với các nhà phát triển cổng thông tin web, các quy đ
Xcode mới các thiết bị iOS với một nhấp chuột duy nhất, an toàn có thể đăng ký
lưu trữ máy Mac của bạn hoặc ứng dụng iOS và trực tiếp được đưa lên App Store
kiểm duyệt.
Apple LLVM Compiler
• Trình biên dịch thế hệ tiếp theo của Apple - trình biên dịch Apple LLVM, không cónhiều hơn ngoài việc xây dựng ứng dụng của bạn. Khi bạn làm việc, LLVM c
Apple liên tục đánh giá những gì bạn gõ, xác định những sai lầm trong từng dòng
mà Xcode thể hiện qua Live Issues, và suy nghĩ trước cách giải quyết để sửa chữa
cho bạn. Các trình biên dịch khác có thể cho bạn biết những gì là sai - Apple LLV
có thể làm cho nó đúng .
Dụng cụ cho hiệu suất và phân tích hành vi (Instruments for Performance and Behavi
Analysis)
•
Một thế giới các lớp của Mac OS X hoặc ứng dụng iOS cung cấp cho người dùmột trải nghiệm tuyệt vời, và điều đó có nghĩa là nhiều hơn là hình ảnh đẹp và thiết
trực quan. Các ứng dụng lớn phải đáp ứng nhanh chóng, và gây ấn tượng với h
ảnh động trơn tru , mượt mà. Để giúp ứng dụng của bạn tuyệt vời, công cụ phát tr
Xcode bao gồm Instruments, một ứng dụng thật sự độc đáo giúp bạn theo dõi tì
trạng nghẽn cổ chai trong hệ điều hành Mac OS X của bạn và các ứng dụng iOS .
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 9/19
• Các công cụ thu thập dữ liệu như đĩa,
bộ nhớ, hoặc tình trạng sử dụng CPU
trong thời gian thực, hoặc là trên máy
Mac của bạn hoặc từ một iPhone được
kết nối từ xa. Các dữ liệu thu thập
hiển thị trự quan, giúp dễ dàng xác
định các khu vực có vấn đề, sau đó đi
sâu vào các dòng vi phạm của các mã.
iOS Simulator
• iOS Simulator chạy ứng dụng của bạn theo cách tương tự như một thiết bị iOS th
tế. Vì nó nhanh chóng khởi động và gỡ lỗi, Simulator iOS chính là một thử nghi
hoàn hảo để đảm bảo giao diện người dùng của bạn hoạt
động theo cách bạn muốn, các cuộc gọi mạng của bạn là
chính xác, và các khung nhìn thay đổi một cách chính xác k
điện thoại quay ngang hoặc dọc. Bạn thậm chí có thể mô
phỏng các cử chỉ chạm bằng cách sử dụng chuột. Simulator
là một bộ tiết kiệm thời gian tuyệt vời.
3. Các loại ứng dụng được viết trên Iphone
• Web application (Ứng dụng web)
o IPhone OS 1.0 yêu cầu tất cả các ứng dụng không phải của Apple phải dựa trên w
và được thực thi trong trình duyệt web Mobile Safari. Bởi vì Mobile Safari không
trợ các plugin như Adobe Flash hoặc Microsoft Silverlight, điều này có nghĩa rằng
cả các ứng dụng của bên thứ ba phải được viết bằng HTML, CSS, và JavaScri
Phương pháp này vẫn còn một lựa chọn khả thi hiện nay, đặc biệt là cho các ứng dụ
phải có thể truy cập vào một loạt các thiết bị phần cứng trên điện thoại.
• Native application (Ứng dụng bản địa)
o Với việc phát hành hệ điều hành iPhone 2.0 và phần giới thiệu SDK iPhone và iTun
App Store, các nhà phát triển đã được khuyến khích viết các ứng dụng bản địa c
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 10/19
iPhone bằng cách sử dụng Objective-C và Xcode. Ứng dụng bản địa được biên dị
mã nhị phân được cài đặt và thực thi trên thiết bị của người dùng. Các ứng dụng n
được cấp quyền truy cập đáng kể đến các thiết bị phần cứng, và chỉ các ứng dụng b
địa mới có thể được phân phối thông qua iTunes App Store. Bởi vì hệ điều hà
iPhone chạy trên iPod Touch, iPhone, và các thiết bị iPad, hầu hết các ứng dụng
thể được xây dựng cho tất cả các thiết bị với các biến thể mã.
• Hybrid application (Ứng dụng lai)
o Có thể kết hợp các phương pháp tiếp cận trên và tạo ra các ứng dụng iPhone được
đặt trên thiết bị của người dùng, được viết chủ yếu trong HTML, CSS và JavaScr
và được phát hành thông qua iTunes App Store. Ứng dụng như vậy đang ngày cà
phổ biến nhờ các thư viện mã nguồn mở như QuickConnect và nền tảng n
PhoneGap, AppCelerator, và rhomobile.
4. Objective – C
Objective - C là một ngôn ngữ lập trình hướng đối tượng thêm phong cách của Smalltalk v
ngôn ngữ lập trình C. Cú pháp là một sự kết hợp của cú pháp C ban đầu kết hợp với pho
cách nhắn tin Smalltalk mặc dù trong các phiên bản mới hơn một số các phong cách cú ph
phổ biến được bao gồm để làm cho nó dễ dàng hơn cho các nhà phát triển C để tìm hiểu,
dụng, và thích ứng với ngôn ngữ.
Giống như C, bạn có nhiều file cho việc thực hiện của một lớp trong Objective-C: một tập
header bao gồm việc kê khai, trừu tượng hóa của các lớp với phần mở rộng .h, và một f
implement với các định nghĩa và mở rộng .m... Trong phần này, nhóm chúng tôi tập tru
vào tập tin tiêu đề.
Ví dụ :
• Đây là file header, DotView.h:
#import <W3Kit/W3PostScript.h>
@interface DotView:W3PostScript
{
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 11/19
Point2 dot_position;
float dot_radius;
}
- (float)dotRadius;
- setDotRadius:(float)r;
- takeDotRadiusFrom:sender;
@end
Giải thích:
# import <W3Kit/W3PostScript.h.
Kết hợp các file header của lớp cha, W3PostScript. # import như #include ngoại trừ vi
nó sẽ không bao gồm 1 tập tin hai lần.
@ Interface DotView: W3PostScript {... } ... @ end
Khai báo DotView là một lớp con của W3PostScript, với các biến thể hiện được khai b
giữa các dấu { }, và các tin nhắn bổ sung được khai báo trước khi kết thúc @.
- (float) dotRadius;
- setDotRadius: (float) r;
- takeDotRadiusFrom: sender;
Kí tự '-' giới thiệu sự khai báo của một hàm mà sẽ được gửi đến thể hiện của lớp. Mỗi
tham số đều có tên mô tả của nó (có thể được để trống cho các tham số), tiếp theo là dấu
hai chấm. Ví dụ :- InsertObject: anObject at: (unsigned int) index;
Kí pháp ép kiểu C được sử dụng để khai báo các đối số và kiểu trả về. Việc ép kiểu này
có thể được bỏ qua nếu đối số hoặc đối tượng trả về là kiểu id , các loại đối tượng tổng qu
nhất.
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 12/19
Trong Objective-C, các lớp cũng là các đối tượng , và các thông điệp khai báo với kí tự
'+' thay vì '-' sẽ được gửi đến các đối tượng lớp chứ không phải là thể hiện của nó
• Đây là file implement của class, DotView.m, kết thúc với kết thúc @ giống như file
header:
# Import "DotView.h"
@implementation DotView
- init
{
if(![super init]) return nil;
// Let x and y initially run between -1 and 1.
[self setDrawSize:2.0 :2.0];
[self setDrawOrigin:-1.0 :-1.0];
// Set initial dot position.
dot_position.x = dot_position.y = 0.0;
return self;
}
Giải thích:
- init
Để tạo ra một thể hiện của lớp DotView, bạn thường gọi [DotView new], và cả hai đều khở
tạo một thể hiện mới. Tuy nhiên, khi là lớp con, DotView chỉ để ghi đè lên một phần khởi tạo
đó là các hàm – init .
Có một số thông báo đối tượng chuẩn mà các lớp phải đảm bảo thực hiện đúng. Xem file
header <objc/Object.h> đi kèm với trình biên dịch của bạn cho các tiêu chuẩn chung, và phần
thiết kế widget cho các tiêu chuẩn cụ thể của W3Kit.
if ([super init]) return nil;
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 13/19
[self setDrawSize: 2.0: 2.0];
Các hàm gọi của Objective-C được kèm theo trong dấu ngoặc vuông, có chức năng như các
biểu thức C thông thường, và có thể được sử dụng bất cứ nơi nào mà biểu thức C có thể. Phần
đầu tiên của hàm gọi là đối tượng cần nhận được thông báo (có thể là bất kỳ biểu hiện nào của
kiểu id). Phần thứ hai liệt kê danh sách các đối số, trước là tên mô tả và dấu hai chấm.
Lưu ý rằng nil là tương đương với NULL.
dot_position.x = dot_position.y = 0,0;
Biến thể hiện của đối tượng có thể được truy cập trực tiếp bằng tên. Nó không cần thiết và
cũng không được khuyến khích khi viết self->dot_position.x .
return self;
Hàm -init phải trả lại đối tượng mới được khởi tạo nếu thành công. Nhìn chung, mặc dù, kh
một hàm trả về mặc định kiểu ‘id’, đó là truyền thống để trả lại bản thân thể hiện đó. Điều nà
cho phép thực hiện các hàm lồng nhau, giống như [[obj msg1] msg2].
5. MVC Design pattern:
Cấu trúc của các ứng dụng iPhone được dựa trên mô hình thiết kế Model-View-Control
(MVC) bởi vì nó mang lại nhiều lợi ích cho các chương trình hướng đối tượng theo nh
cách. Các chương trình dựa trên MVC có xu hướng thích ứng với thay đổi yêu cầu, nói cá
khác, họ có nhiều dễ dàng mở rộng hơn so với các chương trình không sử dụng MVC. H
nữa, các đối tượng trong các chương trình này có xu hướng có thể tái sử dụng hơn và gi
diện của nó có xu hướng được
xác định tốt hơn.
Trong các mẫu thiết kế MVC,
Model layer bao gồm các đối
tượng đại diện cho dữ liệu mà
ứng dụng quản lý. Các đối
tượng trong lớp này cần được tổ
chức theo cách có ý nghĩa nhất
cho dữ liệu. Tương tác bên
ngoài với các đối tượng model
xảy ra thông qua một tập hợp được xác định rõ các giao diện, có công việc là để đảm b
tính toàn vẹn của dữ liệu trong suốt quá trình.
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 14/19
View layer định nghĩa định dạng trình bày và sự xuất hiện của ứng dụng. Lớp này bao gồ
cửa sổ, các khung nhìn của ứng dụng , và các control. Các khung nhìn có thể dựa theo t
chuẩn của hệ thống hoặc các tùy chỉnh do bạn tạo ra. Bạn sẽ phải cấu hình những khung n
đó để hiển thị dữ liệu từ các đối tượng Model của bạn một cách thích hợp. Ngoài ra, các
tượng khung nhìn cần tạo ra các thông báo phản ứng với các sự kiện và tương tác ngư
dùng với dữ liệu đó.
Controller Layer đóng vai trò là cầu nối giữa Model layer và View layer. Nó nhận đư
các thông báo được tạo ra bởi các View (khung nhìn) và sử dụng chúng để thực hiện nhữ
thay đổi tương ứng trong Model. Tương tự, nếu các dữ liệu trong những thay đổi lớp dữ l
cho các lý do khác (có lẽ vì một số vòng lặp tính toán nội bộ), nó sẽ thông báo một đối tượ
điều khiển thích hợp, sau đó cập nhật các khung nhìn.
6. Các control tiêu biểu trong lập trình iOS
Navigation Bar
- Navigation Bar cho phép chuyển hướng giữa các View và quản lý nội dung trong màn hình
Tool Bar
- Tool Bar là thanh công cụ chứa các điều khiển thực hiện các hành động liên quan đến các đ
tượng trong màn hình hoặc khung nhìn.
Tab Bar
- Tab Bar cho phép người dùng khả năng chuyển đổi qua lại cái khung nhìn , màn hình.
Table View
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 15/19
- Table View hiển thị dữ liệu trong 1 bảng gồm nhiều dòng
Text View
- Text View hiển thị và cho phép gõ văn bản
Rounded Rect Button
- Rounded rectangle button biểu diễn 1 hành động cụ thể của chương trình .
Search Bar
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 16/19
- Thanh Search Bar sử dụng văn bản được nhập từ người dùng để sử dụng trong việc tra cứu.
Segment Control
- Segment Control là tập hợp các segment mà mỗi segment có thể được xem như 1 nút nhấn .
Slider
- Slider cho phép người dùng thực hiện điều chỉnh đến một giá trị hoặc quá trình trong một l
các giá trị cho phép (được hiển thị ở đây với những hình ảnh tùy chỉnh ở bên trái và bên phải)
Switch
- Switch cho phép chọn lựa giữa 2 trạng thái.
Text Field
Activity Idicator
- Text field cho phép người dùng nhập liệu trong 1 dòng duy nhất .
Alert
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 17/19
- Alert cho người dùng biết thông tin quan trọng ảnh hưởng đến việc sử dụng chương trình(ho
thiết bị).
Action Sheet
- Action Sheet hiển thị các lựa chọn cho người dùng tương tác.
7. Hello IPhone Application
Tạo project mới :
Bật Xcode , chọn File -> New Project -> View-based Application , save project v
tên Hello Iphone
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 18/19
Trong file Hello_IphoneViewController.h :
Trong file Hello_IphoneViewController.m :
5/11/2018 Lâ ̣p trình iphone - slidepdf.com
http://slidepdf.com/reader/full/lap-trinh-iphone 19/19
Kết quả :