Swift là một ngôn ngữ lập trình hướng đối tượng dành cho việc phát triển iOS và OS X, được giới thiệu bởi Apple tại hội nghị WWDC 2014.Swift được mong đợi sẽ tồn tại song song cùng Objective-C, ngôn ngữ lập trình hiện tại dành cho các hệ điều hành của Apple.
Swift được thiết kế là một ngôn ngữ có khả năng phòng chống lỗi cao. một ngôn ngữ lập trình hoàn toàn mới có thể giúp quá trình phát triển ứng dụng trở nên dễ dàng hơn, nhanh hơn và ổn định hơn với những dòng code ngắn, dễ đọc.
Một điểm nổi bật của Swift là khả năng cho kết quả ngay sau khi viết xong bất kỳ đoạn mã nào giống như những ngôn ngữ Script. Kết quả sẽ hiển thị ngay lập tức ở X Code Runtime, giúp lập trình viên theo dõi dễ dàng và tiến hành sửa lỗi. Mặc dù vậy Swift vẫn được biên dịch như những ngôn ngữ compile khác để đảm bảo hiệu năng của chương trình.
Một điều đặc biệt là những công cụ, thư viện đã được phát triển bởi Objective-C đều có thể sử dụng trong Swift và ngược lại. Điều đó có nghĩa là Swift và Objective-C có thể tồn tại trong cùng một chương trình. Điều này thực sự giúp ích rất nhiều cho những lập trình viên vốn đã thành thạo ngôn ngữ Objective-C khi gặp khó khăn trong việc tiếp cận ngôn ngữ mới.
Trước tiên để có thể tạo và biên dịch một project sử dụng Swift cần sử dụng công cụ Xcode 6 (tại thời điểm hiện tại chỉ có thể tải về bản beta với tài khoản Apple Developer có trả phí, chỉ sử dụng được trên phiên bản hệ điều hành OSX Mavericks)
Sau đây là các bước để thiết lập cho việc sử dụng mã nguồn Objective-C trong ngôn ngữ Swift được minh hoạ trực quan bằng việc xây dựng một ứng dụng ghi chú sử dụng FMDB
Bước 1: Tạo một project mới bằng Xcode 6 Beta, sử dụng template Master-Detail sẵn có.
Bước 2: Tải về mã nguồn FMDB (objective-C), thêm vào project vừa tạo. Source tree sau khi thêm thư viện FMDB sẽ có dạng như trong hình minh hoạ.
Vì FMDB sử dụng sqlite nên ta cần thêm libsqlite3.dlib vào Build Phases > Link Binary With Libraries.
Bước 3: Thêm file “{tên project}-Bridging-Header.h” vào project vừa tạo với nội dung là import tất cả những header (objective-C) của class cần sử dụng. Trong ví dụ app ghi chú này thì chúng ta cần import header file là “FMDB.h”. Mọi khai báo trong file header này sẽ có thể được sử dụng trong toàn ứng dụng, khi sử dụng ta không cần import lại trong từng source file.
Bước 4: Vào build settings, tìm mục Swift Compiler – Code Generation.
Nhập đường dẫn đến file Bridging-Header đã tạo vào Bridging Header Path.
Việc thiết lập project để sử dụng FMDB đã hoàn tất. Sau đây chúng ta sẽ tiến hành lập trình ứng dụng ghi chú bằng ngôn ngữ Swift.
Việc đầu tiên cần làm là thêm class “note” vào project.
Chọn File > New > File
Một cửa sổ sẽ hiện ra như trong hình minh hoạ dưới đây.
Chúng ta chọn iOS > Source > Cocoa Touch Class rồi chọn Next, tạo một class là subclass của NSObject.
Sau khi chọn vị trí lưu file class cần tạo, ta nhận được Note.swift được thêm vào source tree.
Khai báo các thuộc tính cho class này như hình minh hoạ dưới đây.
FMDB (vốn được viết bằng Objective-C) nay có thể được sử dụng bằng cú pháp của Swift không khác gì nó được viết nên bởi ngôn ngữ Swift. Vì vậy trong trường hợp ứng dụng ghi chú đơn giản ta có thể tạo một DatabaseHelper.swift nội dung như sau.
class DatabaseHelper{
var db : FMDatabase
init() {
var paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true) as AnyObject[]!
var documentDirectory = paths[0] as String
var dbPath = documentDirectory.stringByAppendingPathComponent(“NotesApp.db”)
db = FMDatabase(path: dbPath)
if (!db.open()) {
return;
}
db.executeUpdate(“CREATE TABLE IF NOT EXISTS note_table(note_id INTEGER PRIMARY KEY AUTOINCREMENT, note TEXT, created_date DATE, modified_date DATE)”, withArgumentsInArray: nil)
}
func saveNote(note: Note) {
if note.noteId FMResultSet {
var resultSet = db.executeQuery(“SELECT * FROM note_table”, withArgumentsInArray: []) as FMResultSet
return resultSet
}
}
Như vậy ta đã tạo được DatabaseHelper bằng mã nguồn Swift sử dụng FMDB viết bằng Objective-C. Khi cần thực hiện các thao tác thêm, sửa, xoá, truy vấn chỉ cần gọi các method đã định nghĩa trong DatabaseHelper.
(Nguồn: Framgia)
Khóa học lập trình di động tại Techmaster:
Để cài đặt MacOSX lên phần cứng không phải Apple liên hệ chuyên gia cài Hackintosh:
- Nguyễn Minh Sơn: 01287065634
- Huỳnh Minh Sơn: 0936225565
- Website: caidatmacos.com
Bình luận