ios将self分配给另一个类中的属性

时间:2013-08-19 20:21:45

标签: iphone ios ipad uiviewcontroller nsobject

我正在尝试将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;

1 个答案:

答案 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。

希望它有所帮助。