2012-03-30 16 views
3

私は追加のNSStringプロパティを持つUIView拡張クラスを持っています。利便性のため、可能であればデザイナーでそのプロパティを何とか設定したいと思います。xcode NSString IBOutletからNSStringオブジェクトへのデザイナ?

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

プロパティは期待通りにアウトレットとして表示されます。私はそれをオブジェクトライブラリから追加されたNSStringオブジェクトに接続します(プレーンオブジェクトとして追加され、クラスはNSStringに変更されました)。しかし、私はデザイナーアトリビュートインスペクタを介して文字列を編集することができません...方法はありますか?

UILabelを使用することは可能ですが、それは残酷であり、利便性があまり必要ありません。

ありがとうございました。

答えて

0

私はあなたがIBからNSStringを変更する方法がないことを心配しています。

あなたは初期値が方法あなたのコントローラの

-(id)initWithCoder:(NSCoder*)coder 

を再実装を検討しており、手動でNSStringを設定する文字列が必要な場合。

User Defined Runtime Attributes in XCode 5

この例ではinitialRelativeUrlプロパティが時にビューコントローラの負荷設定されている例:

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

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

    return self; 
} 
+0

私は本質的に同じことをやっていますが、異なるinitメソッドを使っています。 少なくとも今私は驚くべきことはありません。 AppleがNSString、NSNumberなどの基本オブジェクトを実装していないため、属性インスペクタでプロパティを持つことができませんでした。 –

+0

これは当てはまりません。インターフェイスビルダーのユーザー定義の属性セクションを使用して任意のプロパティを設定できます。 –

1

のためにあなたは、ユーザー定義のランタイムは、アイデンティティインスペクタのセクションを属性を使用してこれを行うことができます。