【发布时间】:2018-06-29 16:12:59
【问题描述】:
我有一个函数可以返回 2 个不同的字符串值:
-(NSString*)load:(NSDictionary *)dict
{
NSDictionary *dataDict = [self objectForId:@"data" fromDict:dict withDefault:nil];
if (dataDict) {
NSDictionary *success = [self objectForId:@"success" fromDict:dataDict withDefault:nil];
NSString *str = [NSString stringWithFormat:@"%@", success];
if ([str isEqualToString: @"1"])
{
NSDictionary *idDict = [self objectForId:@"id" fromDict:dataDict withDefault:nil];
if (idDict) {
NSString *idString = [NSString stringWithFormat:@"%@", idDict];
return idString;
}
} else {
NSDictionary *messages = [self objectForId:@"messages" fromDict:dataDict withDefault:nil];
if (messages) {
NSDictionary *messageDict = (NSDictionary *)messages;
NSArray *type = messageDict[@"type"];
if (type.count > 0) {
NSString *messageString = type[0][@"message"];
return messageString;
}
}
}
}
return nil;
}
并像这样访问 stringValue:
NSString *string = [className load:dict];
现在我想为“idString”和“messageString”返回值编写 if else 语句。如何区分这 2 个返回值?
【问题讨论】:
-
你想知道在线
NSString *string = [className load:dict];,如果string来自成功或“id”或“消息”键?为此使用块怎么样?还是返回字典?或者使用两个点指针(-(void)load:(NSDictionary *) dict key:(NSString **)key value:(NSString **)value),并用[className load:dict key:&someString value:&string]调用它? -
@Larme 如何使用完成块返回值?
标签: objective-c if-statement nsstring return-value objective-c-blocks