我正在使用名为process的UIActivity Indicator View。
我在main.h类中声明属性,并在main .m
中进行合成我用它来表示用户通过点击按钮连接网页。
点按钮中的[process startAnimating]
指示符。
但我编写代码来连接另一个名为webservices的类中的Web服务,现在我需要停止在此Web服务中设置该流程的动画。
为此我正在webservices.m中编写代码
main *obj = [[main alloc]init];
[obj.process stopAnimating];
但它不起作用。
任何人都可以帮助我。
提前感谢你。
答案 0 :(得分:0)
{1}}属性是在您的第一个类(process
?)中声明的。
您需要在第一次从同一个对象引用它:main
。您需要引用[mainObj.process stopAnimating]
的原始实例。
您可以将main
设为单身,或者更好的是,您可以为main
定义委托协议,webservices
可以作为委托。这种方式main
可以在完成处理后通知webservices
,main
可以停止动画。
答案 1 :(得分:0)
main *obj = [[main alloc]init];
[obj.process stopAnimating];
您正在此处创建主类的另一个对象并停止其进程的活动指示器...而不是创建一个新对象,您需要引用您调用[process startAnimating]
假设我有一个班级
class ABC
{
// Construction/Destruction
public:
ABC();
virtual ~ABC();
// member
int var1;
};
现在我在文件XYZ.cpp
中创建ABC类的对象ABC *abc_object1 = new ABC;
abc_object1->var1 = 5;
现在我想在另一个类PQR.cpp中使用这个abc_object1的var1
如果我创建另一个对象
ABC *abc_object2 = new ABC;
printf("value is %d",abc_object2->var1);
值为null或者垃圾,而不是我们在XYZ.cpp中设置的5,因为它是同一个类的两个不同的对象/实例。你需要以某种方式将XYc.cpp中的abc_object1传递给PQR.cpp ......很可能是函数的参数......
同样适用于你的代码......我希望这个简单的例子能够清除你的基础