Iphone 从另一个.m文件调用navcontroller

Iphone 从另一个.m文件调用navcontroller,iphone,objective-c,Iphone,Objective C,我有一个应用程序,必须创建另一个.h和.m文件。这是我的下载将在后台 .h文件 #import <UIKit/UIKit.h> @interface AsynchronousImageView : UIImageView { NSURLConnection *connection; NSMutableData *data; } - (void)loadImageFromURLString:(NSString *)theUrlString; @end 基本上,

我有一个应用程序,必须创建另一个.h和.m文件。这是我的下载将在后台

.h文件

#import <UIKit/UIKit.h>


@interface AsynchronousImageView : UIImageView
{
    NSURLConnection *connection;
    NSMutableData *data;
}

- (void)loadImageFromURLString:(NSString *)theUrlString;

@end
基本上,我为我的主xxx.appdelege导入了我的.h文件,这样我就可以访问一些导航控制器,从而可以推送视图

我基本上是想下载一张图片,一旦下载完成,在下载开始时显示一个视图(加载视图),删除视图(加载屏幕),并用UIImage.view按下主视图

我在网上找到了这些文件,它们很有用,但我找不到我该怎么做。有选择吗

我试着让它这样,一旦它开始,我推一个视图使用加载,然后我卸载屏幕,并按下下面的按钮

[navigationController pushViewController:vFullscreen animated:YES];
有人能帮我吗?我走这条路是因为NSThread被锁定,因为我试图访问UI内容


谢谢

当您从后台线程使用UI时,您应该调用[self-performSelectorOnMainThread:@selector(),并使用Object:waitUntilDone:]

当您试图在后台制作一些东西时,您应该将UI逻辑和后台逻辑分开,以便很少在主线程上进行调用

比如说

在主线程中:

  • 打开加载视图控制器
  • 设置后台下载程序的回调目标和选择器
  • 使用后台下载程序类开始下载
  • 等待后台下载程序的回调
  • 显示下一个视图控制器
后台线程中(后台下载程序)

  • 创建线程
  • 开始下载
  • 下载完成后-在主线程上执行回调选择器
对于任何需要下载的对象,此逻辑可能会有用很多次

p、 查看apple源代码示例有许多适用于常见情况的有用模板。

谢谢:)我将重写代码,看看是否可以用这种方式来完成。
[navigationController pushViewController:vFullscreen animated:YES];