2013-08-16 27 views
3

確定,這裏就是我想要做的:可可綁定和檢查字符串內容

  • 比方說,我有一個項目,例如一個NSTextField
  • 我們還要說我們想要將其hidden值綁定到BOOL變量 - 這很容易。

現在,這裏的扭曲:

  • 我想將hidden屬性綁定到的(someStringVariable == "Some String"
  • 時尚檢查幾句話:設置元素時隱時現someStringVariable等於一些字符串。

我該如何從IB內做到這一點?它可行嗎?

回答

0

你的意思是這樣的?

string1=string2 ? hidden=true : hidden=false 
+0

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 –

+0

好吧,我認爲那就是他想要的......任何方式,我很抱歉,我是新來的,謝謝你的解釋@Igor – pablopunk

2

那麼,這是基本的this questionanswered重複。但是,除了提問者以外,其他人已經對此提出了獎勵,所以:

完全在IB內嗎?編號

您可以綁定到字符串類型的屬性,然後使用自定義值轉換器將該字符串根據其與期望值相等轉換爲布爾值。

但是,它可能只是更容易添加屬性具有字符串類型屬性的類:

// Assumed to exist: 
@property (copy) NSString* someStringProperty; 

+ (NSSet*) keyPathsForValuesAffectingShouldBeHidden 
{ 
    return [NSSet setWithObject:@"someStringProperty"]; 
} 
- (BOOL) shouldBeHidden 
{ 
    return [self.someStringProperty isEqualToString:@"desired string"]; 
} 

由於此屬性是真正的用戶界面,而不是模型的一部分,你不妨在模型類的類別中定義它。類別本身將在控制器代碼中聲明和定義。

定義後,您可以綁定到shouldBeHidden屬性。

+0

我認爲,這應該是被接受的答案。另一種方法是使用KVO。 – ozgur