【发布时间】:2015-01-16 10:33:22
【问题描述】:
我遇到了一个问题。我通过引用将对象传递给另一个类并在该对象中设置值。现在,当我在回调处理程序中访问此变量时,它为零。
我的示例代码是:
A 类:
__block NSString *getListJobId = nil;
ClassB *bobject = [[ClassB alloc]init];
[bobject getItemsWithJobId:&getListJobId onSuccess:^(NSArray *response) {
NSLog(@"job id %@",getListJobId); //It is nil, It should be **shiv**
} onFailure:^(NSError *error) {
}];
B 类: .h
- (void)getItemsWithJobId:(NSString **)jobId onSuccess:(void (^)(NSArray *))completedBlock onFailure:(void (^)(NSError *))failureBlock;
.m
- (void)getItemsWithJobId:(NSString **)jobId onSuccess:(void (^)(NSArray *))completedBlock onFailure:(void (^)(NSError *))failureBlock
{
*jobId = @"shiv";
completedBlock([NSArray new]);
}
我在 A 类回调响应中得到了这个 jobId nil。如何从 B 类到 A 类获取此值。
感谢您的帮助。
【问题讨论】:
-
尝试将
getListJobId初始化为NULL而不是nil -
@gabuh:它不工作.. :(
标签: ios objective-c callback objective-c-blocks pass-by-reference