我想运行一个非void函数返回一个NSArray,但是当我运行它,还有的甚至没有一个日志行:方法没有得到执行
- (NSArray *) arrayFunction
{
return myList;
}
这是我如何调用该函数:
- (void) myMainFunction
{
[self arrayFunction];
}
我也试过NSLog和一个void函数,而不是NSArray,但是也不会显示出来。
这是一个NSView类。
感谢您的帮助!
* 编辑:*全码: 实现文件:
#import "LogNavigator.h"
@implementation LogNavigator
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code here.
}
[self myMainFunction];
return self;
}
- (void)drawRect:(NSRect)dirtyRect
{
// Drawing code here.
}
- (NSArray *) arrayFunction
{
// # Get the list of .txt files, this part works correctly as expected in CodeRunner
NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Desktop"];
NSArray *directoryList = [[[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:nil]
pathsMatchingExtensions:[NSArray arrayWithObjects:@"txt", nil]];
return directoryList;
}
- (void) myMainFunction
{
[self arrayFunction];
}
@end
你能显示完整的代码吗?在您发布的代码中,代码运行时实际上不会发生任何事情。您是否尝试添加断点来检查函数调用(在myMainFunction中)是否实际被调用? – Fogmeister
感谢您的快速回复@Fogmeister我刚刚使用了断点,非功能被称为似乎。 –
你为什么要从一个函数调用一个方法?为什么不直接调用该方法? – Abizern