我在RootViewController
中写了这个函数。 appRecord
是一个包含XML属性的对象。
- (NSString*) getString:(int)row{
AppRecord *appRecord = [self.entries objectAtIndex:row];
NSString *appName = appRecord.appName;
return appName;
}
我想通过写这个来再次使用这个函数:
RootViewController *record = [RootViewController new];
NSString *appsName = [record getString:0];
NSLOG(appsName);
编译之后,它没有返回任何内容,但如果我在appsName
类(RootViewController
)中使用此函数,它会起作用并返回[self getString:0]
,所以我知道有这个功能没问题。当我尝试将return appName
更改为return @"test"
时,当我从其他类访问它时,它会起作用并返回一些内容。
这意味着此appRecord
存在问题;它是在类中返回的,但是当我从另一个类访问它时没有返回任何内容。
如何解决这个问题?
答案 0 :(得分:5)
您将从<{1}} 的 RootViewController self.entries
实例中获取AppRecord。这意味着,除非您的record
初始值设定项在调用new
之前初始化并填充其entries
变量(通过事物的外观),否则它将无法返回任何内容,因为该数组是空。
除此之外,我不知道你是否希望你的getString:
方法访问不同的数组,或者问题出在getString:(int)
的初始化中(更有可能)
答案 1 :(得分:1)
也许我不明白你的问题,但是如果你依靠NSLog语句来查看函数是否返回任何东西,你应该将它改为:
NSLog(@"%@", appsname);