从类方法访问AN对象/控件

时间:2011-09-07 13:25:43

标签: objective-c ios cocoa-touch interface-builder class-method

使用IB创建的对象/控件是否可以从类方法访问?

@Nekto:

@interface CopyController : UIViewController
{
    UIActivityIndicatorView *myActivity;
}

@property (nonatomic, retain) IBOutlet UIActivityIndicatorView *myActivity;
+(void) activityIndicator:(BOOL)flag;

@end

不允许在.m中执行此操作,错误是“类方法中访问的实例变量'myActivety'”。

+(void)activityIndicator:(BOOL)flag
{
    if (flag)
        [myActivity startAnimating];
    else
        [myActivity stopAnimating];
}

2 个答案:

答案 0 :(得分:1)

是的,它们是可访问的。

您应添加@property IBOutlet ib_object_class *ib_object_name;,在IB中打开该对象设置,并在下拉菜单中选择File's Owner,将参考插座设置为ib_object_name

可以找到完整的解释,例如:Creating and Connecting an Outlet

答案 1 :(得分:0)

您可以将插座连接到第一响应者而不是文件的所有者来实现此目的,但我不认为您可以从类方法中访问它,因为您的IBOutlet属性将是一个实例 - 等级变量。

找到类似的内容,将动作与多个第一响应者here.

相关联