问题描述
我在SomeClass.h中声明了数组,这是一个全局变量吗?
@property (nonnull,nonatomic,retain) NSMutableArray *additional_tabs;
下面我声明了2个使用此数组的函数。
- (id _Nullable)initFromJSON:(NSDictionary *_Nullable)dictionary;
- (void)moreTabs:(NSMutableArray *_Nullable)a;
下面是我在initFromJSON
函数中使用的if语句。
if ([Tools isNonullValueForKey:[dictionary valueForKey:@"additional_tabs"]]) {
_additional_tabs = [NSMutableArray new]; //really I need them?
_additional_tabs = [dictionary valueForKey:@"additional_tabs"];
NSLog(@"additionalTabCount (initJSON) = %lu",[_additional_tabs count]);
for (int i = 0; i < [_additional_tabs count]; i++) {
if ([Tools isNonullValueForKey:[_additional_tabs valueForKey:@"_id"]]) {
_additional_tab_id = [[_additional_tabs valueForKey:@"_id"] objectAtIndex:i];
}
if ([Tools isNonullValueForKey:[_additional_tabs valueForKey:@"names"]]) {
NSDictionary *dic = [[_additional_tabs valueForKey:@"names"] objectAtIndex:i];
_en_additional_tab_name = [dic valueForKey:@"en"];
_pl_additional_tab_name = [dic valueForKey:@"pl"];
}
if ([Tools isNonullValueForKey:[_additional_tabs valueForKey:@"url"]]) {
_additional_tab_url = [[_additional_tabs valueForKey:@"url"] objectAtIndex:i];
}
NSLog(@"%@ %d %@ %@ %@ %@",@"pos",i,@"id: ",_additional_tab_id,@"url: ",_additional_tab_url);
}
}
这个[_additional_tabs count]
有17个。
但是在功能moreTabs
中:
NSLog(@"additional tabs count: %lu",[_additional_tabs count]);
for (int i = 1; i < [_additional_tabs count]; i++) {
[a addobject:[[VCTab alloc] initWithIdAndTypeAndUrl:[[_additional_tabs valueForKey:@"_id"] objectAtIndex:i] :VCTabAdditional :[[_additional_tabs valueForKey:@"url"] objectAtIndex:i]]];
}
}
返回n的[_additional_tabs count]
...看起来是其他数组还是已清除?
非常感谢您的帮助:) 一切顺利
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)