2009-03-03 35 views
7

Tôi đã thay đổi chức năng kiểu c thành phương pháp target-c. Như một phương pháp, làm thế nào để tôi sử dụng nó?Gọi phương thức obj-c với tham số

NSString* myfunc(int x) 

     is now: 

    - (NSString *)myFuncWithParam:(int)x 


c code: myString = myfunc(x); // works 

obj-c code: myString = myFuncWithParam(x); // fails to compile. 

Từ một trong các câu trả lời: myString = [object myFuncWithParam: x];

Trong trường hợp đó, "đối tượng" sẽ là gì?

+0

Có thể bạn nên chỉnh sửa tiêu đề câu hỏi của mình thành "Gọi phương thức C mục tiêu với thông số". – notnot

+0

Tôi đã cập nhật câu trả lời của mình để mô tả đối tượng là gì ... Bạn có thể muốn nghiên cứu một chút về lập trình hướng đối tượng trước khi tiếp tục với Obj-C vì đây là một khái niệm rất quan trọng. –

+0

Bạn không thể thay đổi một chút cú pháp và mong đợi mã C thủ tục đột nhiên hoạt động như Mục tiêu-C. Điều đó giống như phụ thêm "o" vào tất cả các từ của bạn và tưởng tượng rằng bạn đang nói tiếng Tây Ban Nha. Bạn cần phải thực sự tìm hiểu Objective-C. – Chuck

Trả lời

13

myString = [object myFuncWithParam:x];

Đối tượng ở đâu là đối tượng có phương pháp bạn đang gọi. Nếu bạn đang gọi nó từ cùng một đối tượng, bạn sẽ sử dụng 'self'. This tutoria l có thể giúp bạn trong việc học Obj-C.

0

Bạn cần phải sử dụng dấu ngoặc vuông "thông báo" cú pháp:

myString = [myObject myFuncWithParam: value];

0

Tắt huyên thuyên chủ đề/cũ của con người:

Một lần, khi tôi đang chán, tôi đã cố gắng để tạo ra một cú pháp obj-C-like cho C++ sử dụng toán tử quá tải. Tôi tin rằng tôi đã có thể nhận được

myString = myObject[myFuncWithParam](value); 

để hoạt động.

Các vấn đề liên quan