Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS-实例数组不包含数据_Ios_Objective C_Nsarray - Fatal编程技术网

iOS-实例数组不包含数据

iOS-实例数组不包含数据,ios,objective-c,nsarray,Ios,Objective C,Nsarray,由于某些原因,我无法让twitterAccounts保存另一个数组数据 ViewController.h @interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> @property (strong, nonatomic) NSArray *twitterAccounts; @property (strong, nonatomic) IBOutlet UITab

由于某些原因,我无法让twitterAccounts保存另一个数组数据

ViewController.h

@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>

@property (strong, nonatomic) NSArray *twitterAccounts;
@property (strong, nonatomic) IBOutlet UITableView *chooseTwitterAccountTableView;

- (void)twitterRequest;

@end
我不明白的是,如果我的viewDidLoad方法是这样的:

- (void)viewDidLoad
{
    [super viewDidLoad];

    _twitterAccounts = [[NSArray alloc]init];

    [self twitterRequest];

    NSLog(@"After method called: %lu", [_twitterAccounts count]);

}
输出为:

After method called 0.
Array first has: 1 elements.

因为我在输出数组中的元素数量之前调用该方法,所以不应该是另一种方式吗?

requestAccessToAccountsWithType:
是一种异步方法,这意味着 仅启动请求并返回。完成区块 稍后在请求完成时调用

所以打了电话以后,

[self twitterRequest];
\u twitterAccounts
数组尚未分配给。当请求完成时 完成块被称为,
\u twitterAccounts=twitterAccountsTemp被执行,

如果需要,您可以在此时更新UI。

您注意到,
requestAccessToAccountsWithType
是一种异步方法吗顺便问一下,它是
\u账户
还是
\u推特账户
?请复制/粘贴您的真实代码。您正在分配给
\u帐户
,但正在记录
\u twitter帐户
。。。那么,这是哪一个呢?还要看看是不是同意;)为什么要在viewDidLoad中创建空数组?根据定义,空NSArray不包含任何数据(并且永远不能包含任何数据)。你对指针和对象有一个基本的误解。有没有办法让twitterAccounts保存twitterAccountsTemp的数据?@user3000730:在
NSArray*twitterAccountsTemp=…
设置断点。您将看到,稍后将调用完成。异步方法就是这样工作的,没有办法。好的,谢谢,我的目标是获取数组中的元素数并创建一个表视图。因此,我需要twitterAccounts数组来保存它。@user3000730:您可以从完成块内更新表视图(但在主线程上,请参见类似问题)。
[self twitterRequest];