Accessing IB object/controll from a class method
Are the objects/controls that you created using IB accessible from a class method?
@Nekto:
@interface CopyController : UIViewController
{
UIActivityIndicatorView *myActivity;
}
@prope开发者_C百科rty (nonatomic, retain) IBOutlet UIActivityIndicatorView *myActivity;
+(void) activityIndicator:(BOOL)flag;
@end
This implementation in the .m will not be allowed, the error was "Instance variable'myActivety' accessed in class method".
+(void)activityIndicator:(BOOL)flag
{
if (flag)
[myActivity startAnimating];
else
[myActivity stopAnimating];
}
Yes, they are accessible.
You should add @property IBOutlet ib_object_class *ib_object_name;
, open that object settings in IB and set reference outlet to File's Owner
by selecting ib_object_name
in drop down menu.
Full explanation can be found, for example, here : Creating and Connecting an Outlet
You may be able to connect the outlet to the first responder instead of the file's owner to achieve this, but I don't think you can access it from within a class method since your IBOutlet property is going to be an instance-level variable.
Found something similar for linking actions to multiple first responders here.
精彩评论