我正在尝试将self分配给antoher类(nsobject类)中的属性,使用self作为指向视图控制器的指针,但属性始终为nil。你们中的任何人都知道为什么或如何修复?
viewcontroller.m
-(void)startToDoSomething:(NSString*)testToRun
{
SecondClass *secondClass = [[SecondClass alloc] init];
secondClass.viewController = self;
[secondClass doSomething];
}
SecondClass.h:
NSObject classe:
.h文件
#import "ViewController.h"
@class ViewController;
@interface SecondClass : NSObject
{
ViewController *viewController;
}
@property (nonatomic,retain) ViewController *viewController;
答案 0 :(得分:2)
为什么不添加init方法:
-(id)initWithViewController:(ViewController *)aViewController
{
self = [super init];
if(self)
{
self.viewController = aViewController;
}
return self;
}
然后你就可以这样称呼它
SecondClass *secondClass = [[SecondClass alloc] initWithViewController:self];
您还可以将属性更改为(nonatomic, assign)
并将合成更改为@synthesize viewController = _viewController
在SecondClass中使用_viewController。
希望它有所帮助。