2012-03-30 41 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屬性設置視圖控制器負載時。