(道歉,如果這是一個明顯的答案,我對編程非常陌生)。如何在開關語句中使用謂詞
我有一個用不同類型的結構定義的可變數組。我想要做的是將用戶在文本框中輸入的字符串與數組中的對象進行比較。然後,根據字符串的值,我將在UIWebView中顯示不同的圖片。 (我和數組一起去的原因是因爲我讀過你不能用字符串做Switch語句。)所以我建立了一個謂詞來搜索數組。
但是,我無法弄清楚如何從謂詞到該對象的索引值,以便在switch語句中使用。
我應該遵循不同的策略嗎?這甚至有可能嗎?
-(IBAction)btnAddFabric:(id)sender
{
myFabrics = [NSMutableArray arrayWithObjects:@"Cotton",@"Fleece",@"Linen",@"Nylon",
@"Polyester",@"Rayon",@"Silk",@"Spandex",@"Suede",@"Wool",nil];
NSString *fabricType;
fabricType = self.txtType.text;
self.lblFabric1.text = fabricType;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains
%d",fabricType];
NSArray *result = [myFabrics filteredArrayUsingPredicate:predicate];
switch (result)
{
case 0:
imageURLString=[[NSString alloc] initWithFormat:@"<Picture of cotton fabric from
Google here>"];
break
}
[self.fabricPic loadRequest:[NSURLRequest requestWithURL:imageURL];
}
在NSArray文檔中查找'indexOfObject:'。 – Abizern
這裏有很多問題會給你帶來麻煩,首先將一個字符串傳遞給predicateWithFormat構造函數中的%d,然後嘗試傳遞一個NSArray來切換哪一個只對整型值有效。 –