She*_*lam 36 iphone cocoa cocoa-touch objective-c nsdictionary
我有一系列NSDictionaries.如何拉出字典中的第一个元素?
NSArray *messages = [[results objectForKey:@"messages"] valueForKey:@"message"];
for (NSDictionary *message in messages)
{
STObject *mySTObject = [[STObject alloc] init];
mySTObject.stID = [message valueForKey:@"id"];
stID = mySTObject.stID;
}
Run Code Online (Sandbox Code Playgroud)
Wev*_*vah 60
NSDictionary中没有"first"元素; 其成员没有保证订单.如果你只想要一个字典中的一个对象,但不关心它与哪个关联,你可以这样做:
id val = nil;
NSArray *values = [yourDict allValues];
if ([values count] != 0)
val = [values objectAtIndex:0];
Run Code Online (Sandbox Code Playgroud)
Mar*_*ote 25
NSDictionaries是无序的,这意味着没有第一个或最后一个元素.事实上,即使在特定字典的生命周期中,密钥的顺序也永远不会保证是相同的.
如果你想要任何对象,你可以获得其中一个键:
id key = [[message allKeys] objectAtIndex:0]; // Assumes 'message' is not empty
id object = [message objectForKey:key];
Run Code Online (Sandbox Code Playgroud)
NSArray有一个名为的选择器firstObject
,它简化了代码并使其更具可读性:
id val = [[yourDict allValues] firstObject];
Run Code Online (Sandbox Code Playgroud)
如果yourDict
是空的val
将是nil
,所以没有必要检查字典/数组大小.
归档时间: |
|
查看次数: |
49937 次 |
最近记录: |