[英]iOS Skipping a Method Call From Another View
我浏览了大约十二个不同的页面,分别讨论了如何从其他视图和实例中调用方法(当方法被跳过,但是没有答案时)。
我将在这里详细介绍。 两个相关的类:
SpeakersView
和
获取数据
GetData就在那儿,因为我将需要从六个不同的类中调用该方法,最好只编写一次。
这是GetData.h:
#import <UIKit/UIKit.h>
@interface GetData : UIViewController
-(NSArray *)getTableArray:(NSString *)section :(NSString *)entity;
@end
这是GetData.m:
@interface GetData (){
NSArray *tableData;
NSArray *titleData;
NSArray *splitData;
}
@end
@implementation GetData
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(NSArray *)getTableArray:(NSString *)section :(NSString *)entity{
//Code omitted. Shouldn't really have anything to do with why the method is being skipped.
}
@end
所以这就是我在SpeakersView.m中调用方法的方式:
GetData *GD;
menu_List = [GD getTableArray:@"Speakers" :@"John Smith"];
建议? 我应该提到,从不同的类以完全相同的方式调用其他方法没有问题。
GetData *GD;
不初始化UIViewController
。 此时为零,因此您无法在其上调用方法。
尝试:
GetData *GD = [[GetData alloc] init];
另外,为什么GetData
是UIViewController
? 使其成为NSObject
,如果仅将其用于该方法,则不需要整个视图控制器。
调用继承UIViewController的类“ GetData”显然会显示出一个巨大的概念问题。 控制器是一个用模型(以MVC模式)提供其视图的类。 这不是实用程序类。
在您的示例中,您也没有实例化控制器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.