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).
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:
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:
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.
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ở syntax-