Hiển thị các bài đăng có nhãn iphone. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn iphone. Hiển thị tất cả bài đăng

Thứ Tư, 12 tháng 3, 2014

Apple - IOS là gì ? và IOS7 là gì ?

IOS là gì ?

iOS là nền tảng của iPhone, iPad, và iPod touch. Nó đi kèm với một bộ sưu tập ứng dụng cho phép bạn làm những việc hàng ngày, và thậm chí cả những điều không để hàng ngày, theo những cách trực quan, đơn giản, và vui vẻ. Và nó được nạp với các tính năng hữu ích bạn sẽ tự hỏi làm thế nào bạn đã từng làm mà không có.
IOS là gì ?
iOS là gì ?

IOS7 là gì ?

Với một giao diện dễ sử dụng, tính năng tuyệt vời, và an ninh cốt lõi của nó, iOS 7 là nền tảng của iPhone, iPad, và iPod touch. Nó được thiết kế để trông xinh đẹp và làm việc đẹp, vì vậy ngay cả những nhiệm vụ đơn giản nhất là hấp dẫn. Và vì iOS 7 được thiết kế để tận dụng các công nghệ tiên tiến được xây dựng trong phần cứng của Apple, các thiết bị của bạn là luôn luôn năm trước - từ ngày này sang ngày khác bất cứ khi nào.
ios7 là gì
ios7 là gì

Giao diện trực quan và thanh lịch

Từ thời điểm bạn nhận iPhone, iPad, hoặc iPod touch, bạn biết làm thế nào để sử dụng nó. Đó là bởi vì iOS được thiết kế để dễ hiểu. Màn hình chủ, đơn giản mà đẹp mời bạn khám phá mỗi ứng dụng được xây dựng trong. Vì vậy, ngay lập tức, bạn đang duyệt trang web ưa thích của bạn, chụp một vài Candids, hoặc gửi tin nhắn bạn bè của bạn. Và không có vấn đề gì bạn đang làm hoặc những gì ứng dụng bạn đang sử dụng, tất cả mọi thứ cảm thấy dễ dàng, trực quan, và vui vẻ.
Giao diện trực quan và thanh lịch ios7
Giao diện trực quan và thanh lịch


Và tính năng và kho ứng ựng

iOS và một bộ sưu tập ngày càng mở rộng các tính năng và xây dựng trong các ứng dụng làm cho iPhone, iPad, và iPod touch thậm chí mạnh hơn, sáng tạo, và một niềm vui để sử dụng. Đây chỉ là một vài ví dụ.
Và tính năng và kho ứng ựng
tính năng và kho ứng ựng

Hình ảnh

Năm, Bộ sưu tập, và khoảnh khắc - nhóm thông minh của hình ảnh và video dựa trên thời gian và địa điểm của bạn - làm cho việc tìm kiếm ảnh chụp bạn đang tìm kiếm nhanh chóng và dễ dàng.
hình ảnh trong ios7
hình ảnh trong ios7

Phần cứng và phần mềm hòa hợp

Bởi vì Apple làm cho cả phần cứng và hệ điều hành cho iPhone, iPad, và iPod touch, tất cả mọi thứ được thiết kế để làm việc cùng nhau. Vì vậy, các ứng dụng tận dụng đầy đủ các tính năng phần cứng như bộ vi xử lý lõi kép, đồ họa tăng tốc, wifi, và nhiều hơn nữa. Đa nhiệm là một ví dụ hoàn hảo. iOS 7 học khi bạn muốn sử dụng các ứng dụng của bạn và cập nhật nội dung trong khi có thời gian năng lượng hiệu quả, giống như khi thiết bị của bạn đã được sử dụng và kết nối Wi-Fi. Vì vậy, các nội dung trong các ứng dụng yêu thích của bạn vẫn được cập nhật mà không có một cống lớn trên pin của bạn.
phần cứng và phần mềm trong ios7
phần cứng và phần mềm trong ios7

Dễ dàng cập nhật

cập nhật iOS được miễn phí. Và họ đang có sẵn để tải về trên iPhone của bạn, iPad, hoặc iPod touch thời điểm chúng được phát hành. Điện thoại của bạn thậm chí cảnh báo bạn khi đó là thời gian để có được phiên bản mới nhất. Vì vậy, bạn sẽ không bỏ lỡ tất cả các tính năng tuyệt vời trong bản cập nhật mới.
Dễ dàng cập nhật trên ios
Dễ dàng cập nhật trên ios

nguồn tham khảo : https://www.apple.com/ios/what-is/

Thứ Ba, 23 tháng 7, 2013

2. Giới thiệu về các công cụ trong UI Elements

 Trước khi bắt đầu bài giới thiệu về UI Element, tôi khuyên bạn nên xem qua các bài viết trước đây của tôi, đặc biệt là bài viết : hello word

Trong bài này chúng ta sẽ biết được tên các công cụ thường xuyên sử dụng, tác dụng của nó, và trông nó ra làm sao ??

Danh sách các công cụ thường được sử dụng trong thiết kế giao diện trên IOS
STT
Tên gọi
Chức năng
1
Text Fields
1 công cụ này cho phép người dùng nhấp dữ liệu vào
2
Input types - TextFields
Dùng kiểm soát bán phím, loại bỏ các phím không cần thiết hoặc không mong muốn khi thao tác trên Text Fields
3
Buttons
Được sử dụng để xử lý các hành động của người dùng.
4
Label
Được sử dụng để hiển thị các nội dung tĩnh, đoạn text
5
Toolbar
Được sử dụng khi muốn thao tác với cái gì đó thường được sử dụng nhất. Ví dụ như quản lý mail, các button trên Tool thường được người dùng sử dụng như xóa mail, trả lời, yêu thích…
6
Status Bar
Được sử dụng dể hiển thị các thông tin quan trọng của điện thoại: pin, mạng, thời gian, nhà cung cấp
7
Navigation Bar
Được sử dụng để điều khiển quản lý nhiều chồng màn hình
8
Tab bar
Nó được sử dụng để chuyển đổi giữa màn hình
9
Image View
Được sử dụng để hiển thị một hình ảnh nào đó
10
Scroll View
Được sử dụng để hiện thị nội dung có kích thước lớn hơn màn hình
11
Table View
Được sử dụng để hiện thị danh sách dữ liệu với nhiều hàng
12
Split View
Được sử dụng để chứa điều khiển ra làm 2, ở bên trái hoặc bên phải của nội dung
13
Text View
Hiển thị nội dung văn bản trong phạm vi thanh cuộn
14
View Transition 
Được sử dụng khi cần một hiệu ứng khi chuyển đổi màn hình
15
Pickers
Được sử dụng để hiện thị dữ liệu ra một danh sách, mà kiểu hiển thị cuộn tròn danh sách dữ liệu đó
16
Switches
Được sử dụng để thể hiện hành động bật hoặc tắt các tính năng khác nhau
17
Sliders
Được sử dụng để cho phép người dùng tùy chỉnh giá trị trong khoảng cho phép
18
Alerts
 Được sử dụng để thông báo tới người dùng thông tin quan trọng cần được xác nhận. Sau khi tùy chọn trong giao diện thông báo, người dùng mới có thể tiếp tục sử dụng ứng dụng
19
Icons
Được sử dụng để mô tả hành động hay một cái gì đó liên quan tới ứng dụng bằng việc sử dụng hình ảnh

Tài liệu tham khảo


Thứ Hai, 1 tháng 7, 2013

LẬP TRÌNH OBJECTIVE-C - part 5

7.     Quản lý bộ nhớ, ARC (Automactic Reference Counting)

-          Quản lý bộ nhớ là quản lý việc khởi tạo vùng nhớ cho ứng dụng, sử dụng nó và giải phóng nó khi ta đã hoàn thành công việc. Một chương trình quản lý bộ nhớ tốt sẽ sử dụng ít vùng nhớ nhất có thể.
 -          Manual Reference Counting (MRC) : quản lý bộ nhớ thủ công, có nghĩa là chúng ta sẽ tự quản lý bộ nhớ bằng cách đánh dấu, theo vết vòng đời của object. Cụ thể là ta sẽ đếm việc khởi tạo, sử dụng và giải phóng object trong chương trình.
-          Autiomatic Reference Counting (ARC) : quản lý bộ nhớ tự động, hệ thống sẽ dùng bộ đếm tương tự như MRC nhưng nó sẽ thêm vào phương thức quản lý bộ nhớ tự động tại thời điểm compile.
-          Garbage Collection (GC) : hệ thống sẽ tự động lưu vết và tự động giải phóng vùng nhớ của object không cần thiết nữa. Nó sử dụng kỹ thuật quản lý bộ nhớ khác với MRC và ARC, tuy nhiên GC chỉ hỗ trợ Mac OS X mà không hỗ trợ iOS.

l  Reference Counting
-          Reference Counting(hoặc Retain Counting) : là một kỹ thuật quản lý bộ nhớ của Objective-C nhằm theo vết vòng đời của đối tượng(object), đếm số lượng tham chiếu đến một đối tượng.
-          Reference Count(hoặc Retain Count) : số lượng tham chiếu đến một đối tượng.
-          Khi đối tượng được khởi tạo bằng các từ khóa như allocnewcopy  thì reference count của nó sẽ tự động là 1.
-          Để tăng reference count lên 1, ta gửi thông điệp retain cho đối tượng.
-          Để giảm reference count xuống 1, ta gửi thông điệp release cho đối tượng.
-          Để có thể biết được reference count hiện tại, ta gửi thông điệp retainCount cho đối tượng.
-          Khi reference count giảm xuống 0 thì đối tượng sẽ được hủy, vùng nhớ được giải phóng, lúc này hệ thống sẽ tự động gửi thông điệp dealloc cho đối tượng. 

l  Ví dụ:
-          alloc hoặc new  
Mục đích : 
Cấp phát bộ nhớ cho đối tượng.
Reference count : bằng 1
Ví dụ:
NSString *str = [[NSString alloc] init];
NSString *str = [NSString new];

-          copy
Mục đích : 
Cấp phát bộ nhớ cho đối tượng thông qua một đối tượng khác.
Reference count : bằng 1
Ví dụ:
NSString *str = [someString copy];
NSString *str = [someString copy];

-          retain  
Mục đích : 
Gọi khi ta cần sử dụng một đối tượng, mà đối tượng đó đã được cấp phát ở đâu đó, ta không chắc là tại thời điểm ta sử dụng thì đối tượng đó có bị release hay không. Gọi retain giống như ta thông báo cho chủ sở hữu của nó là “Đừng xóa nó cho đến khi tôi sử dụng nó xong nhé !”. Khi gọi retain thì lúc này chúng ta là chủ sở hữu mới của nó(bên cạnh chủ sở hữu cũ). Khi nào sử dụng xong ta cần phải release nó.
Reference count : tăng thêm 1
Ví dụ:
NSString *str = [[NSString alloc] initWithString:@”Hello”];
NSString *str2 = str;
[str release];
//Sau vài giây thì str2 không còn lưu đúng nội dung

Trong ví dụ trên, biến str2 chỉ đơn giản là trỏ đến vùng nhớ của biến str, một khi ta giải phóng biến str thì biến str2 sẽ lưu không còn đúng nội dung nữa. Giải pháp :
NSString *str = [[NSString alloc] initWithString:@”Hello”];
NSString *str2 = [str retain];
[str release];
//str2 vẫn còn lưu đúng nội dung cho tới khi ta giải phóng nó
[str2 release];

-          release
Mục đích
Báo cho hệ thống biết là ta đã sử dụng xong 1 đối tượng nào đó và cần giải phóng nó. Đối tượng sẽ thực sự được giải phóng chỉ khi không còn ai sở hữu nó nữa (reference count = 0)
Reference count : Giảm xuống 1 ngay lập tức.

-          autorelease  
Mục đích
- Khi ta không muốn giải phóng một đối tượng nào đó ngay lập tức.
- Khi ta không muốn phải ghi nhớ lúc nào nên release những đối tượng mà ta đã cấp phát khi sử dụng xong.

- Khi ta muốn thêm một đối tượng vào autorelease pool.
Reference count : Giảm xuống 1 nhưng không ngay lập tức.

-          Convenience methods
Khái niệm :
Là những phương thức static, dùng để cấp phát và khởi tạo đối tượng một cách trực tiếp. Đối tượng được tạo ra từ phương thức convenience gọi là autorelease object, và ta không sở hữu đối tượng này.
NSString *str2 = [NSString stringWithFormat:@”%d”, 4]; 

- Tất cả các autorelease objects  được tạo ra sẽ được thêm vào autorelease pool  hiện tại.

-          Autorelease Pool  
Khái niệm : 
Là nơi chứa và giải phóng các autorelease objects . Khi autorelease pool  được giải phóng (thường là hết vòng lặp hay kết thúc hàm) thì các object nằm bên trong nó cũng sẽ được tự động giải phóng.

Khi nào nên sử dụng : 
- Khi ta muốn tự hủy một loạt các autorelease objects.
- Trong trường hợp cụ thể khi ta sử dụng nhiều biến tạm và muốn tránh phải cấp phát và release tất cả những biến này khi sử dụng xong.
- Hoặc ta không muốn đợi autorelease pool  của hệ thống được giải phóng, ta sẽ sử dụng đối tượng thuộc lớp NSAutoreleasePool

NSString *str2 = [NSString stringWithFormat:@”%d”, 4]; 
for (int i = 0; i <= 99999; i++)  {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *str1 = [NSString stringWithFormat:@”%d”, i];
NSString *str2 = [NSString stringWithFormat:@”%d”, i];
//...
}
[pool release];//Các autorelease objects ở trên sẽ đc giải phóng
}

Như ví dụ trên đây, nếu như ta không dùng lớp NSAutoreleasePool  thì khi chạy hết 99999 vòng lặp, cácautorelease objects  nằm trong autorelease pool  mới được giải phóng, và điều đó sẽ gây ra hiện tượng tràn bộ nhớ.

-          Hệ quả từ Autorelease Pool
Khi trong hàm ta sử dụng nhiều biến được cấp phát, và không muốn suy nghĩ lúc nào nên release biến này, lúc nào nên release biến kia, ta chỉ cần kẹp đoạn code giữa NSAutoreleasePool , rồi cho biến đó autorelease, sau đó ta vẫn sử dụng nó được bình thường.

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
Animal *animal = [[Animal alloc] initWithName:@"Animal"];
[animal autorelease];
Zoo *zoo = [[Zoo alloc] init];
[zoo autorelease];
[zoo add:animal];
[pool release];
tài liệu tham khảo