1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Làm quen với Xcode part 2 doc

9 291 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Part 2 Make Connections
Thể loại Tutorial
Định dạng
Số trang 9
Dung lượng 242,95 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Part 2 Make Connections Hình 2,16 là một sơ đồ đối tượng cho thấy các đối tượng cần phải được kết nối trong ví dụ của bạn.. bạn sẽ đặt biến đối tượng Foo's Textfield để trỏ đến các đối

Trang 1

Part 2

Make Connections

Hình 2,16 là một sơ đồ đối tượng cho thấy các đối tượng cần phải được kết nối trong ví dụ của bạn

bạn sẽ đặt biến đối tượng Foo's Textfield để trỏ đến các đối tượng

NSTextField trên các cửa sổ hiện nay là Label Right-click (hoặc Control-click neu bạn sử dụng chuột 1nut) vào biểu tượng đó đại diện của biến đối tượng Foo của bạn đến text filed bảng điều khiển Inspector sau đó sẽ xuất hiện Kéo từ Textfield đến Lable (Hình 2.17)

Trang 2

Bước này là về tất cả các điểm: Bạn chỉ cần đặt trỏ Textfield trong đối tượng Foo của bạn để trỏ đến các textfiled

Bây giờ bạn sẽ thiết lập mục tiêu của nút seed để trỏ outlet của bạn đến đối tượng Foo ngoài ra, bạn muốn nút để kích hoạt method Foo's seed

kéo thả từ nút đến đối tượng Foo Khi xuất hiện bảng điều khiển chọn

seed:

Trang 3

làm tương tự với generate button

Bạn đã thực hiện xong giao diện Builder, nên lưu các tập tin và ẩn các ứng dụng Quay trở lại Xcode

Back in Xcode

Nếu đây là lần đầu tiên mà bạn nhìn thấy Object-c, bạn có thể khám phá rằng nó có vẻ khá khác nhau từ C + + hay Java code Có thể được các cú pháp khác nhau, nhưng những khái niệm là cùng Ở Java, ví dụ, một class

sẽ được khai bao như thế này:

Trang 4

import com.megacorp.Bar;

import com.megacorp.Baz;

public class Rex extends Bar implements Baz {

methods and instance variables

}

nó thể hiện rằng class Rex thừa kế từ class Bar và thực hiện methods được khai báo trong giao diện Baz

Các class tương tự trong object-csẽ được khai báo như thế này:

#import <megacorp/Bar.h>

#import <megacorp/Baz.h>

@interface Rex : Bar <Baz> {

instance variables

}

methods

@end

Nếu bạn biết Java, object-c thực sự là như vậy không lạ Lưu ý rằng như Java,object-c duy nhất chỉ cho phép thừa kế; có nghĩa là, một class chỉ có một superclass

Types and Constants in Objective-C

Mục obj-c lập trình sử dụng một vài kiểu mà không được tìm thấy trong thế giới của C

id là một trỏ đến bất cứ kiểu đối tượng

BOOL cũng giống như char nhưng được sử dụng như là một giá trị

Boolean

YES is 1

NO is 0

Trang 5

IBOutlet là một macro mà để ước lương không có gì Bỏ qua nó (IBOutlet

là hint để giao diện Builder khi đọc những khai báo của một class từ một tập tin.h.)

IBAction cũng giống như void và vai trò như là một hint giao diện Builder

nil cũng giống như NULL Chúng tôi sử dụng nil thay vì NULL cho đến các

đối tượng

Look at the Header File

Bấm vào Foo.h Nghiên cứu nó một lúc Foo khai báo nó là một Subclass của NSObject biến đối tượng được khai báo trong {}

#import <Cocoa/Cocoa.h>

@interface Foo : NSObject

{

IBOutlet NSTextField *textField;

}

- (IBAction)generate: (id)sender;

- (IBAction)seed: (id)sender;

@end

#import là tương tự với những preprocessor của C # include Tuy nhiên,

#import đảm bảo rằng các tệp tin được bao gồm chỉ một lần Bạn đang import <Cocoa/Cocoa.h> bởi vì trong đó bao gồm việc khai báo NSObject,

đó là superclass của Foo

Lưu ý rằng việc khai báo của các class bắt đầu với @ interface @là biểu tượng không được sử dụng tron ngôn ngữ lập trình C Để giảm thiểu các nhầm lẫn giữa C và obj-C từ khóa đó là @

Dưới đây là một số các Objective-C keywords: @end, @implementation,

@class, @selector, @protocol, @property, and @synthesize

nhìn chung, bạn sẽ dễ dàng hơn tìm thấy code nhập vào nếu mở

Trang 6

syntax-aware indention Trong Xcode Preference, chọn indentation pane Kiểm tra hộp có nhãn Syntax-ẩe indenting , như được hiển thị trong Hình 2,20

Edit the Implementation File

obj-c là một ngôn ngữ rất đơn giản Nó không có hiển thị đặt biệt Tất cả các methods được public, và tất cả biến đối tượng được bảo vệ (Trong thực tế, có hiển thị đặt biệt cho các biến đối tượng, nhưng chúng hiếm khi được sử dụng Mặc định được bảo vệ, và làm việc rất hoàn hảo.)

import "Foo.h"

@implementation Foo

- (IBAction)generate: (id)sender

{

// Generate a number between 1 and 100 inclusive

int generated;

generated = (random() % 100) + 1;

Trang 7

NSLog(@"generated = %d", generated);

// Ask the text field to change what it is displaying

[textField setIntValue:generated];

}

- (IBAction)seed: (id)sender

{

// Seed the random number generator with the time

srandom(time(NULL));

[textField setStringValue:@"Generator seeded"];

}

@end

(Nên nhớ rằng IBAction cũng giống như void )Bởi vì obj-C là C với một số

mở rộng, bạn có thể gọi function, chẳng hạn như random() và srandom(),

từ các thư viện tiêu chuẩn C và Unix

Trước khi bạn xây dựng và chạy các ứng dụng, bạn có thể muốn chỉnh sửa thêm một số chi tiết Xcode Trước tiên, có một log, thường gọi là bàn điều khiển (console), nơi mà các lỗi của bạn sẽ xuất hiện khi bạn chạy mã của bạn Bạn sẽ muốn xóa log sau khi chạy Thứ hai, bạn sẽ flip từ tập tin .h tương ứng tập tin m một nghìn lần / ngày Chìa khóa tương đương là Command-Option-UpArrow và bạn sẽ muốn hai file xuất hiện trong cùng một cửa sổ

Trang 8

Build and Run

Khởi chạy ứng dụng của bạn Bấm vào các nút và xem thông số ngẫu nhiên tạo ra -Xin chúc mừng bạn có một ứng dụng làm việc Cocoa

awakeFromNib

Thêm methods awakeFromNib vào Foo.m Bạn sẽ hiểu rõ về sau Ngắn

gọn, bạn đang tạo đối tượng của NSCalendarDate đại diện cho thời điểm hiện tại Sau đó, bạnnói cho text field để cài đặt các giá trị lịch ngày mới cho các đối tượng

- (void)awakeFromNib

{

NSCalendarDate *now;

now = [NSCalendarDate calendarDate];

[textField setObjectValue:now];

}

Theo thứ tự các methods , xuất hiện trong các tập tin không phải là quan trọng Chỉ cần chắc chắn rằng bạn thêm chúng sau @implementation và trước @end

Bạn sẽ không bao gi gọi awakeFromNib; nó được gọi tự động Đơn giản chỉ cần xây dựng và chạy các ứng dụng của bạn một lần nữa Bây giờ bạn

sẽ thấy trong ngày và thời gian khi app chạy (Hình 2,24)

Ngày đăng: 24/12/2013, 07:16

TỪ KHÓA LIÊN QUAN

w