ios 将 self 分配给另一个类中的属性
Posted
技术标签:
【中文标题】ios 将 self 分配给另一个类中的属性【英文标题】:ios assign self to property in another class 【发布时间】:2013-08-19 20:21:44 【问题描述】:我正在尝试使用 self 作为指向视图控制器的指针将 self 分配给另一个类(nsobject 类)中的属性,但该属性始终为零。你们中的任何人都知道为什么或如何解决?
viewcontroller.m
-(void)startToDoSomething:(NSString*)testToRun
SecondClass *secondClass = [[SecondClass alloc] init];
secondClass.viewController = self;
[secondClass doSomething];
SecondClass.h:
NSObject 类:
.h 文件
#import "ViewController.h"
@class ViewController;
@interface SecondClass : NSObject
ViewController *viewController;
@property (nonatomic,retain) ViewController *viewController;
【问题讨论】:
viewController
是如何在SecondClass
中声明/实现的?
secondClass 被声明(#import secondClass),属性在 secondClass.h 中声明
我已经添加了 secondclass.h 内容
【参考方案1】:
你为什么不添加一个init方法:
-(id)initWithViewController:(ViewController *)aViewController
self = [super init];
if(self)
self.viewController = aViewController;
return self;
那你就这样称呼它
SecondClass *secondClass = [[SecondClass alloc] initWithViewController:self];
你也可以把属性改成(nonatomic, assign)
,把synthesize改成@synthesize viewController = _viewController
在 SecondClass 中使用 _viewController。
希望对你有帮助。
【讨论】:
以上是关于ios 将 self 分配给另一个类中的属性的主要内容,如果未能解决你的问题,请参考以下文章
使用 @dataclass 创建的类中的 Python 实例属性分配