19
 Lp trình iphone  IPHONE - SN PHM LÀM NÊN CUC CÁCH MNG TRONG LĨNH VC ĐIN THOI THÔNG MINH  IPhone là gì ? - IPhone là mt đin thoi di động tích hp và má y nghe nh c đa phươ ng tin đ ược phá t bi Appl e. Thiết bnày kết hp các chc năng chính ca mt stin ích phbiến đin ttrong mt thiết bduy nht, vi mt giao din được chia svà hi nhp gia chúng. Ngoài chc năng chính ca nó như mt đin thoi di động, iPhone còn bao gm máy nghe nhc, xem video, máy nh kthut s, PDA, và là mt btruyn thông Internet. Lch sphát trin ca Iphone : - IPhone đầu tiên đã được công bbi cu Giám đốc điu hành Steve Jo bs ca Apple vào ngày 09/01/ 200 7 và phát hàn h vào ngày 29/0 6/2007. IPhone thế hth5, iPhone 4S, được công bvà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, hđiu hành ca Apple cho các thiết bcm tay . Điu gì to nên skhác bit ca Iphone ? 1. Màn hình c m n g r ng - Vi Iphone , m àn hình c hính l à đin th oi . Mi t hđược thc hin thô ng qua màn hình cm ng 3.5 inch và ngày càn g ln hơn qua các phiên bn tiếp theo ca IPhone . 2. Cm ng đ a đ i m

Lập trình iphone

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Lập trình iphone

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ỉ

Page 3: Lập trình iphone

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

Page 4: Lập trình iphone

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.

Page 5: Lập trình iphone

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

Page 6: Lập trình iphone

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

Page 7: Lập trình iphone

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ổ.

Page 8: Lập trình iphone

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 .

Page 9: Lập trình iphone

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

Page 10: Lập trình iphone

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

{

Page 11: Lập trình iphone

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.

Page 12: Lập trình iphone

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;

Page 13: Lập trình iphone

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.

Page 14: Lập trình iphone

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

Page 15: Lập trình iphone

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 

Page 16: Lập trình iphone

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

Page 17: Lập trình iphone

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

Page 18: Lập trình 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 :

Page 19: Lập trình iphone

5/11/2018 Lâ ̣p trình iphone - slidepdf.com

http://slidepdf.com/reader/full/lap-trinh-iphone 19/19

 

Kết quả :