我有这个方法:
- (void)postDictionary:(NSDictionary *)dictionary toURL:(NSURL *)url forDelegate:(id)delegate withIdentifier:(NSString *)identifier;
我想将一个对象的实例传递给这个方法,然后调用类似的东西:
if ([delegate respondsToSelector:@selector(didFinishDownload:)]) {
[delegate performSelector:@selector(didFinishDownload:) withObject:@"test"];
}
我想我必须将对象的指针传递给方法?
我想我必须使用 * ,* * 和&amp ;.但我不知道我在哪里使用这些。
你能帮帮我吗?
侧击
答案 0 :(得分:0)
我猜- (void)postDictionary:(NSDictionary *)dictionary toURL:(NSURL *)url forDelegate:(id)delegate withIdentifier:(NSString *)identifier;
是您声明的方法。
你可以拥有
- (void)postDictionary:(NSDictionary *)dictionary toURL:(NSURL *)url forDelegate:(id)delegate withIdentifier:(NSString *)identifier withObject:(id)obj;
答案 1 :(得分:0)
为什么你不能轻易做到例如
if ([delegate respondsToSelector:@selector(didFinishDownload:)]) {
[delegate performSelector:@selector(didFinishDownload:) withObject:identifier];
}
为什么你说你需要做一种指针操作?
答案 2 :(得分:0)
你会发现Objective C中的所有对象都被指针引用。因此,当您声明NSString时,您可以执行以下操作:
NSString *myString = @"testString";
以同样的方式执行alloc init来创建一个新对象会返回一个指针。您可以直接将指针传递给方法。
if ([delegate respondsToSelector:@selector(didFinishDownload:)]) {
[delegate performSelector:@selector(didFinishDownload:) withObject:myString];
}