Objective c 目标C:代码解释

Objective c 目标C:代码解释,objective-c,Objective C,我需要下面代码的代码解释: AutoCompletePlaceType PlaceTypeFromDictionary(NSDictionary *placeDictionary) { return [[placeDictionary objectForKey:@"types"] containsObject:@"establishment"] ? PlaceTypeEstablishment : PlaceTypeGeocode; } 从第一行开始…这是一个相对简单的函数1,它分析N

我需要下面代码的代码解释:

AutoCompletePlaceType PlaceTypeFromDictionary(NSDictionary *placeDictionary)
{
    return [[placeDictionary objectForKey:@"types"] containsObject:@"establishment"] ? PlaceTypeEstablishment : PlaceTypeGeocode;
}

从第一行开始…

这是一个相对简单的函数1,它分析
NSDictionary
,并生成两个
AutoCompletePlaceType
值中的一个:

  • placeTypeEstablish
    如果名为
    @“element”
    的键处的字典元素包含值为
    @“Establish”
    的字符串对象,以及
  • PlaceTypeGeocode
    如果在名为
    @“element”
    的关键字处没有元素,或者相应的集合的值中不包含单词
    @“building”

1这是一个C函数,不是一个目标C方法


2.这个决定是用一个。

也许你需要的不仅仅是帮助。查找函数(在C中)、NSDictionary上的文档和三元运算符,所有这些都是C和ObjC的基本元素。使用Google怎么样?不会痛的,好吗?谢谢你的迅速回复。即使AutoCompletePlaceType周围没有()括号,它仍然返回一个值?在什么情况下,返回类型可以不带括号?谢谢。@user1107173这正是我在脚注#1中试图表达的观点:
-(AutoCompletePlaceType)placeTypeFromDictionary
将是一种方法语法,类型名称周围需要括号。函数语法在类型名称周围没有括号。您这样称呼它:
AutoCompletePlaceType apt=PlaceTypeFromDictionary(someNsDictionary)