标签: nsenumerator

在Firebase中迭代快照子项

我有一个包含多个对象的Firebase资源,我想使用Swift迭代它们.我期望的工作如下(根据Firebase文档)
https://www.firebase.com/docs/ios-api/Classes/FDataSnapshot.html#//api/name/children

var ref = Firebase(url:MY_FIREBASE_URL)
ref.observeSingleEventOfType(.Value, withBlock: { snapshot in
  println(snapshot.childrenCount) // I got the expected number of items
    for rest in snapshot.children { //ERROR: "NSEnumerator" does not have a member named "Generator"
       println(rest.value)     
     }
 })
Run Code Online (Sandbox Code Playgroud)

因此,似乎Swift迭代Firebase返回的NSEnumerator对象存在问题.

真的很受欢迎.

nsenumerator ios firebase swift

36
推荐指数
5
解决办法
4万
查看次数

如何在NSMutableDictionary中使用NSEnumerator?

如何使用NSEnumerator和NSMutableDictionary打印出所有键和值?

谢谢!

iphone nsenumerator

20
推荐指数
2
解决办法
4万
查看次数

NSEnumerator性能vs Cocoa中的循环

我知道如果你有一个循环来修改循环中项目的计数,在集合上使用NSEnumerator是确保代码爆炸的最佳方法,但是我想了解NSEnumerator类之间的性能权衡而且只是一个旧学校的循环

cocoa nsenumerator objective-c

18
推荐指数
2
解决办法
6625
查看次数

快速枚举与Objective-C中的NSEnumerator

我一遍又一遍地看到这一点,为什么在循环中使用快速枚举而不是NSEnumerator使用它更快nextObject:.

nsenumerator objective-c fast-enumeration

10
推荐指数
1
解决办法
4286
查看次数

Doxygen无法检测objective-c中的NS_ENUM

我正在使用Doxygen来记录用Objective-C编写的API.
Doyxygen无法理解NS_ENUM typedef.

我找到了这个解决方案,但它对我不起作用.

ENABLE_PREPROCESSING   = YES 
MACRO_EXPANSION        = YES 
EXPAND_ONLY_PREDEF     = YES 
PREDEFINED             = NS_ENUM(x,y)=y 

Regards, 
  Dimitri 
Run Code Online (Sandbox Code Playgroud)

这是我的输入文件:

/**
 *  Represent the possible states.
 */
typedef NS_ENUM(NSInteger, ABEnumType)
{
    /**
     *  State A.
     */
    StateA = 0,
    /**
     *  State B.
     */
    StateB
};
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出:

Preprocessing /src/ABEnumType.h...
error: /src/ABEnumType.h:17:17: error: C++ requires a type specifier for all declarations [clang]
error: /src/ABEnumType.h:17:28: error: unknown type name 'ABEnumType' [clang]
error: /src/ABEnumType.h:18:1: error: function definition is not allowed here [clang]
error: /src/ABEnumType.h:17:9: …
Run Code Online (Sandbox Code Playgroud)

nsenumerator doxygen objective-c

5
推荐指数
2
解决办法
1138
查看次数

NSEnumerator的价值是什么?

什么时候...在...可以吗?

具体来说,当我们可以写:

NSArray *array;
// array allocated and initialized here.
for (id obj in array) {
  // do something to the object here
}
Run Code Online (Sandbox Code Playgroud)

我们为什么要使用NSEnumerator?

nsenumerator objective-c

2
推荐指数
1
解决办法
2577
查看次数

Objective-C通过NSString迭代获取字符

我有这个功能:

void myFunc(NSString* data) {
    NSMutableArray *instrs = [[NSMutableArray alloc] initWithCapacity:[data length]];
    for (int i=0; i < [data length]; i++) {
        unichar c = [data characterAtIndex:i];
        [instrs addObject:c];
    }
    NSEnumerator *e = [instrs objectEnumerator];
    id inst;
    while (inst = [e nextObject]) {
        NSLog("%i\n", inst);
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为它失败了[instrs addObject:c].它的目的是遍历NSString的十六进制数.导致此代码失败的原因是什么?

iteration nsenumerator objective-c nsmutablearray

0
推荐指数
1
解决办法
4687
查看次数

如何枚举符合 NSFastEnumeration 的任意集合

我试图枚举一堆对象,根据情况,这些对象可能是 NSArray 或 NSOrderedSet。由于两者都符合 NSFastEnumeration,我希望它能工作:

id<NSFastEnumeration> enumerableSet =
(test) ?
[NSArray arrayWithObjects:@"one", @"two", @"three", nil] :
[NSOrderedSet orderedSetWithObjects:@"one", @"two", @"three", nil];

NSEnumerator *e = [enumerableSet objectEnumerator];
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下编译器错误:

选择器“objectEnumerator”没有已知的实例方法。

我怀疑这里有一些语法错误,我之前没有太多使用 id 构造。我可以将其中一个或两个集合转换为公共类,但如果可能的话,我想更好地了解这里发生的情况。

nsenumerator objective-c ios objective-c-protocol

0
推荐指数
1
解决办法
463
查看次数