2012-03-30 58 views
3

我有一个UIView扩展类,它有一个额外的NSString属性。为了方便起见,如果可能的话,我想以某种方式在设计器中设置该属性。xcode NSString IBOutlet to NSString在设计器中的对象?

@property (nonatomic,retain) IBOutlet NSString* designerAccessibleString; 

该物业将按预期显示为出路。我将它连接到从对象库添加的NSString对象(作为普通对象添加,类更改为NSString)。但是我无法通过设计器Attributes Inspector编辑字符串......有没有办法?

我知道有可能使用UILabel,但这太过分了,我不需要那么糟糕的便利。

谢谢。

回答

0

我担心你无法从IB修改你的NSString

如果你需要的字符串有一个初始值考虑重新实现方法

-(id)initWithCoder:(NSCoder*)coder 
控制器的

,并手动设置你的NSString。例如

对于
-(id)initWithCoder:(NSCoder*)coder { 

    self = [super initWithCoder:coder]; 
    if (self) { 
     designerAccessibleString = @"somestring"; 
    } 

    return self; 
} 
+0

我现在正在做基本相同的事情,但通过不同的初始化方法。 至少我现在不必担心。 太糟糕了Apple没有实现像NSString,NSNumber等基本对象在Attributes Inspector中拥有一个属性。 – 2012-03-30 20:56:47

+0

这不是事实,您可以使用界面构建器的用户定义属性部分来设置任意属性。 – 2014-01-13 11:47:41

1

您可以使用用户定义的属性运行时的身份检查的部分做到这一点:

User Defined Runtime Attributes in XCode 5

在这个例子中initialRelativeUrl属性设置视图控制器负载时。