Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
Arrays ivar在ARC下发布-如何保留它以用于其他方法?_Arrays_Uitableview_Ivar_Twrequest - Fatal编程技术网

Arrays ivar在ARC下发布-如何保留它以用于其他方法?

Arrays ivar在ARC下发布-如何保留它以用于其他方法?,arrays,uitableview,ivar,twrequest,Arrays,Uitableview,Ivar,Twrequest,几周来,我一直在为一些事情苦苦挣扎,这给我的进步带来了真正的停顿。我已经问了几次问题,所以,人们一直在帮助我,但没有人发现我做错了什么。这似乎是一件相当简单的事情,所以希望有人会有一个灯泡的时刻,并解决这个问题。我正在实现一个TWRequest,结果将返回到一个字典中,我正在循环搜索结果以提取tweet的一部分,并创建这些“文本”组件的数组。在循环中直接输入我正在打印数组的日志-\u twitterText,它打印得很好。此方法完成后不久,twitterText似乎被转储。我在.h文件中创建了它

几周来,我一直在为一些事情苦苦挣扎,这给我的进步带来了真正的停顿。我已经问了几次问题,所以,人们一直在帮助我,但没有人发现我做错了什么。这似乎是一件相当简单的事情,所以希望有人会有一个灯泡的时刻,并解决这个问题。我正在实现一个TWRequest,结果将返回到一个字典中,我正在循环搜索结果以提取tweet的一部分,并创建这些“文本”组件的数组。在循环中直接输入我正在打印数组的日志-\u twitterText,它打印得很好。此方法完成后不久,twitterText似乎被转储。我在.h文件中创建了它作为强属性,并在viewdidload中创建了一个ivar。还是没有快乐如何保留此数组以用于其他方法? 这是我的.h文件

#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
#import "CustomCell.h"
#import "AppDelegate.h"
#import <Twitter/Twitter.h>

@interface MyViewController : UITableViewController <CLLocationManagerDelegate>
{
    CLLocationManager *here;
}

@property(strong) NSDictionary *dict;
@property(strong) CLLocationManager *here;
@property (strong, nonatomic) NSMutableArray *twitterText;

- (void)fetchTweets;

@end </p>

因此,这里的问题是,在网络连接完成且服务器响应您的请求之前,您传递给
-[tweet performRequestWithHandler:
的完成处理程序不会(无法)启动。这可能需要数百毫秒甚至几秒钟才能完成。(或者它可能永远不会发生)

同时,当这种情况发生时,UITableView希望自己绘制,因此会询问您有多少节/行,然后会询问您每行有一个单元格。因此,当表格视图询问时,您应该返回当时必须绘制的实际行数

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return [self.twitterText count]; // the actual number of rows we have right now
}
因此,下一步需要的是在数据实际从服务器输入时重新加载表。这将提示表视图再次询问节数和行数,然后询问每个节数和行数的单元格。因此,在处理完所有数据后,您需要在完成块的某个位置执行以下操作:

dispatch_async(dispatch_get_main_queue(), ^{

  // you'll need an outlet to the UITableView
  // here I assume you call that 'tableView'
  // then just ask it to reload on the main thread

  [self.tableView reloadData];

});

我希望这会有所帮助?

所以这里的问题是,在网络连接完成并且服务器响应您的请求之前,您传递给
-[tweet performRequestWithHandler:
的完成处理程序不会(无法)启动。这可能需要数百毫秒甚至几秒钟才能完成。(或者它可能永远不会发生)

同时,当这种情况发生时,UITableView希望自己绘制,因此会询问您有多少节/行,然后会询问您每行有一个单元格。因此,当表格视图询问时,您应该返回当时必须绘制的实际行数

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return [self.twitterText count]; // the actual number of rows we have right now
}
因此,下一步需要的是在数据实际从服务器输入时重新加载表。这将提示表视图再次询问节数和行数,然后询问每个节数和行数的单元格。因此,在处理完所有数据后,您需要在完成块的某个位置执行以下操作:

dispatch_async(dispatch_get_main_queue(), ^{

  // you'll need an outlet to the UITableView
  // here I assume you call that 'tableView'
  // then just ask it to reload on the main thread

  [self.tableView reloadData];

});

我希望这能有所帮助?

快速检查是否正常:您能在每次登录twitterText之前登录
NSLog(@“我是%@”,self)
吗?嗨,菲罗兹,我在这两种情况下都能完美地打印日志-““您确定它们按您期望的顺序打印吗?”?fetchTweets触发异步请求。在
tableView:cellforrowatinexpath:
yes之后,它可能很容易完成,此外,如果我取消对live“cell.venueDetails.text=[\u twitterText objectAtIndex:indexPath.row];”的注释,我会得到一个sigabt,因为_twitterText是一个空数组,完成处理程序在http调用完成之前无法完成其工作。因此,这里的正常模式是在
tableView:numberofrowsinssection:
中返回零(或某个占位符),直到实际有内容显示为止。当您有内容要显示时(在服务器响应后),重新加载表并返回正确的行数和每行的单元格。快速检查是否正常:您能否在每次登录twitterText之前登录
NSLog(@“我是%@”,self)
。您好,Firoze,我在这两种情况下都能完美打印日志-“”您确定他们正在按您期望的顺序打印吗?fetchTweets触发异步请求。在
tableView:cellforrowatinexpath:
yes之后,它可能很容易完成,此外,如果我取消对live“cell.venueDetails.text=[\u twitterText objectAtIndex:indexPath.row];”的注释,我会得到一个sigabt,因为_twitterText是一个空数组,完成处理程序在http调用完成之前无法完成其工作。因此,这里的正常模式是在
tableView:numberofrowsinssection:
中返回零(或某个占位符),直到实际有内容显示为止。当您有内容要显示时(在服务器响应之后),重新加载表并返回正确的行数和每行的单元格。太棒了。你是一个传奇!!非常感谢你-我很快就试一试了,它似乎正按正确的顺序发射。你是一个传奇!!非常感谢你-我已经给了它一个快速的尝试,它似乎是在正确的顺序发射