ios-在非ARC中重写setget方法为什么一只报错

问题描述

在非ARC中重写setget方法为什么一只报错

@interface Boy : NSObject
{
Gun *gun;
}

-(void)setGun:(Gun *)gun;
-(Gun *)gun;

@end

 @implementation Boy

- (void)dealloc
{
    NSLog(@"Boy释放");
    [super dealloc];
}
-(void)setGun:(Gun *)gun
{
    _gun=gun;
}
-(Gun *)gun{

    return _gun;
}

解决方案

你没有syncrosize啊,和arc没关系

解决方案二:

  • (void)setGun:(Gun *)gun
    {
    if (_gun!= gun) {
    [_gun release];
    gun = [gun retain/copy];
    }
    }
    希望能帮到你!

解决方案三:

把gun改成_gun

解决方案四:

把gun改成_gun

时间: 2024-11-04 20:46:12

ios-在非ARC中重写setget方法为什么一只报错的相关文章

对象-java中重写equals方法为什么不直接在里面比较hashcode()?

问题描述 java中重写equals方法为什么不直接在里面比较hashcode()? 看书上说只要重写在一个类中重写equals方法,那就一定要重写hashcode方法,因为两个对象只要equals返回值为true,那么他俩的hashcode就一定相同. 那为什么不可以提前先写好hashcode函数,然后在equals函数里面直接来一行if(this.hashcode() == otherObject.hashcode()) return true;else return false;就行了?

fragmentactivity-Android中具体在FragmentActivity中重写onKeyDown方法。急!!

问题描述 Android中具体在FragmentActivity中重写onKeyDown方法.急!! 是这样的,在我的项目中,需要实现一个功能,就是一个主布局里嵌套一些子布局后,其中子布局我不予显示,只有当我点击了主布局里具体的控件后,隐藏主布局,显示特定的子布局,那么我现在想按返回键返回主布局,再次隐藏子布局.那么问题来了:求教各位大神如何实现,我知道是要重写onKeyDown方法,但是具体不知道怎么写.有没有大神指导下? 解决方案 1.你可以用一个变量来表示你在哪个子布局中,然后用个swit

急!用jdbc中executeQuery()方法执行查询为什么在程序中停顿很长时间,甚至报错。

问题描述 急!用jdbc中executeQuery()方法执行查询为什么在程序中停顿很长时间,甚至报错. 程序中的sql如以下: select t3.*,t1.costPrice as costP,t1.retailPrice as retailP,t1.basicPricing as basicP from goodsGroupCopy t1 left join groupCopyGoods t2 on t1.id = t2.goodsGroupCopyId left join goods t

asynctask-AsyncTask中的execute方法在android studio中报错

问题描述 AsyncTask中的execute方法在android studio中报错 我的android studio中的AsyncTask的execute方法在编辑框中飘红报错, 提示"Cannot resolve method 'execute(java.lang.string)'",类名那里也会有红色下划线报错.但是不影响程序,程序可以正常运行.总觉得这样看着不舒服 解决方案 贴出整个代码,可能是你的参数类型和后面继承AsyncTask指定的不一样导致的,

为什么重写了父类接口的方法后,仍然报错?

问题描述 为什么重写了父类接口的方法后,仍然报错? The type Videosite must implement the inherited abstract method Subject.remove() 解决方案 你还有一个基类抽象类的抽象方法,Subject.remove(),没有实现,检查下. 解决方案二: 把子类定义为抽象类,在重写父类的方法

ssh整合-关于ssh中hibernate生成方法从Action中调用报错main调用不报错

问题描述 关于ssh中hibernate生成方法从Action中调用报错main调用不报错 看图学生求解决没遇到过!我建测试类用main方法进来一点问题都没有正常输出i=1 解决方案 报的什么错,贴出来,,, 解决方案二: 你确定text的userinfo和action的userinfo的内容一样吗? 你在findUserinfonamepwd方法中将name和pwd打印出来看看. 我怀疑你action的参数userinfo是null或者userinfo实例化了,但是name或者pwd是null

Android线程中设置控件的值提示报错的解决方法_Android

本文实例讲述了Android线程中设置控件的值提示报错的解决方法.分享给大家供大家参考,具体如下: 在Android线程中设置控件的值一般会与Handler联合使用,如下: package com.yarin.android.Examples_04_15; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import andro

Android线程中设置控件的值提示报错的解决方法

本文实例讲述了Android线程中设置控件的值提示报错的解决方法.分享给大家供大家参考,具体如下: 在Android线程中设置控件的值一般会与Handler联合使用,如下: package com.yarin.android.Examples_04_15; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import andro

javaweb-在ssh 中 用ServletActionContext获取session时启动报错

问题描述 在ssh 中 用ServletActionContext获取session时启动报错 ServletActionContext.getRequest().getSession(); 怎么才能在启动的时候就有ServletActionContext,而不用在ActionSupport处理请求时在获取 解决方案 是报空指针吗? 没有请求时 ServletActionContext.getRequest() 为null 解决方案二: http://blog.csdn.net/suncaoyo