Tôi không biết chính xác cách đặt câu hỏi này. Tôi muốn tạo phương thức như stringWithFormat:
hoặc predicateWithFormat:
, tức là phương pháp của tôi chấp nhận đối số trực tiếp dưới dạng một chuỗi có định dạng thông số định dạng. Làm thế nào tôi có thể đạt được điều này?Cách tạo phương thức chấp nhận chuỗi có định dạng trực tiếp dưới dạng đối số?
Ví dụ:
-(void) someMethod: (NSString *)str, format;
Vì vậy mà tôi sau này có thể gọi nó là thích:
[someObject someMethod:@"String with format %@",anotherString];
Đây không phải là liên quan đến bất kỳ bối cảnh cụ thể.
Tôi đã làm việc predicateWithFormat
với một mã số tương tự như:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like myName"];
này không hiệu quả, nhưng:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like 'myName'"];
làm việc tương tự như:
NSString *str = @"myName";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like %@",str];
Vì vậy, đây có nghĩa là phương pháp có thể hiểu được nếu đối số được đưa ra có định dạng thông số cho chúng tôi ed bên trong chúng. Tôi tò mò làm thế nào điều này có thể được thực hiện?
Bạn có thể giải thích về macro varargs không. Tôi khá mới với mục tiêu-c. – Rakesh
@Rakesh Varargs không phải là Objective-C, chúng là C. Xem trang này: http://www.eskimo.com/~scs/cclass/int/sx11b.html – trojanfoe
cảm ơn rất nhiều! hiểu rồi. – Rakesh