提问人:handzel 提问时间:9/1/2020 更新时间:9/1/2020 访问量:44
如何从另一个函数 Objective-C 引用数组
How to reference an array from another function Objective-C
问:
我已经在 SomeClass.h 中声明了数组,这是一个全局变量,不是吗?
@property (nonnull, nonatomic, retain) NSMutableArray *additional_tabs;
下面我声明了 2 个函数,我使用这个数组。
- (id _Nullable)initFromJSON:(NSDictionary *_Nullable)dictionary;
- (void)moreTabs:(NSMutableArray *_Nullable)a;
下面是我在函数内部使用的 if 语句。initFromJSON
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);
}
}
这有 17 个。
但在功能上:[_additional_tabs count]
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]]];
}
}
以零返回...看起来像是不同的数组还是清除的?[_additional_tabs count]
我将非常感谢您的帮助:) 祝一切顺利
答: 暂无答案
评论
self.
Conference *cf = [Conference new]; [cf moreTabs:vcTabs]; [self logArray];