织梦CMS - 轻松建站从此开始!

沙龙国际_沙龙国际365_沙龙国际手机版www.salon365.com

当前位置: 主页 > 菲律宾沙龙国际 >

(菲律宾沙龙国际) 重写init方法后,属性声明后为

时间:2017-07-18 04:02来源:未知 作者:admin 点击:
学习Objective-C中,一般getter方法均实用if(!_variable)判断,在getter 方法中实例化。 今天遇到了一个UNRECOGNIZED SELECTOR SENT TO INSTANCE 的错误。 排查了发现声明的属性,第一次判断!_varible即为

学习Objective-C中,一般getter方法均实用if(!_variable)判断,在getter 方法中实例化。
今天遇到了一个UNRECOGNIZED SELECTOR SENT TO INSTANCE 的错误。
排查了发现声明的属性,第一次判断!_varible即为NO,运行设置断点发现属性指针已经有值。

请解释一下这个现象?

- (PlayingCardDeck *)playingCardDeck {
    BOOL noInit =!_playingCardDeck;
    NSLog(@"此处noInit 为 NO");
       
    if (noInit) {
        NSLog(@"getter is going");
        _playingCardDeck = [[PlayingCardDeck alloc] init];
        
    }
    
    return _playingCardDeck;
}

- (Card *)testCard {
    BOOL noInit =!_testCard;
    NSLog(@"此处noInit 为 YES");

    if (noInit) {
        NSLog(@"getter is going");
        _testCard = [[Card alloc] init];
        
    }
    return _testCard;
}

PlayingCardDeck的init的代码,Card为默认。

@implementation PlayingCardDeck

- (instancetype)init {
    
    self = [super init];

    if (self) {
        for (NSString *suit in [PlayingCard validSuits]) {
            for (NSUInteger rank = 1; rank 
      
      (责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容