簡體   English   中英

在特殊情況下如何訪問nsarray計數

[英]How to access an nsarray count in a special case

我將塊設置如下:

    id block = ^(id obj, BOOL *ignored) 
{
  id data = [self.writer dataWithObject:obj];
  NSString *output = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];          
};

當我打電話時:

[[obj objectForKey:@"roster] objectForKey:@"players"];

我在看各種各樣的球員。 當我添加.count時,它找不到計數,因為它說count不是id的屬性。 如何訪問此數組的計數?

編輯:

這是我的全部內容:

id block = ^(id obj, BOOL *ignored) {
                 id data = [self.writer dataWithObject:obj];

                 NSMutableArray *players = (NSMutableArray*)[[obj objectForKey:@"roster"] objectForKey:@"players"];
                 _players = [NSMutableArray array];

                 //Create player objects then add them to the array.

                 for (int i = 0; i <= players.count; i++)
                 {
                     [_players addObject:[HNPlayerObject newPlayerWithPlayerId:(@"%@",[[[obj objectForKey:@"roster"] objectForKey:@"players"][i] objectForKey:@"id"])FirstName:(@"%@",[[[obj objectForKey:@"roster"] objectForKey:@"players"][i] objectForKey:@"first"]) LastName:(@"%@",[[[obj objectForKey:@"roster"] objectForKey:@"players"][i] objectForKey:@"last"]) Number:[(@"%@",[[[obj objectForKey:@"roster"] objectForKey:@"players"][i] objectForKey:@"number"]) intValue] Team:@"Badgers" Position:@"Unknown" Description:@"" GamesPlayed:[(@"%@",[[[obj objectForKey:@"roster"] objectForKey:@"players"][i] objectForKey:@"gp"]) intValue] Goals:[(@"%@",[[[obj objectForKey:@"roster"] objectForKey:@"players"][i] objectForKey:@"g"]) intValue] Assists:[(@"%@",[[[obj objectForKey:@"roster"] objectForKey:@"players"][i] objectForKey:@"a"]) intValue] Points:[(@"%@",[[[obj objectForKey:@"roster"] objectForKey:@"players"][i] objectForKey:@"pts"]) intValue] PenaltyMinutes:[(@"%@",[[[obj objectForKey:@"roster"] objectForKey:@"players"][i] objectForKey:@"pim"]) intValue] PlusMinus:[(@"%@",[[[obj objectForKey:@"roster"] objectForKey:@"players"][i] objectForKey:@"pm"]) intValue] IsPlaying:NO]];
                     [_playersTableView reloadData];
                 }

                 [_playersTableView reloadData];
             };

我收到此錯誤:'NSRangeException',原因:'***-[__ NSArrayM objectAtIndex:]:索引17超出范圍[0 .. 16]

 NSArray *array = (NSArray*)[[obj objectForKey:@"roster] objectForKey:@"players"];

然后,您將可以訪問count屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM