2009-06-20 48 views
16

甲UIActionSheet被initalized用:獨立的NSArray到的NSString類型對象的列表

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Title" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil 
otherButtonTitles:@"Button1", @"Button2", nil]; 

我試圖一個NSArray傳遞到「otherButtonTitles」消息。

我試着使用通過一個NSArray:

otherButtonTitles:[array] 

但該消息期待NSString的列表。

我能想到的將NSArray分解爲一組NSStrings的唯一方法是使用componentsJoinedByString,但它給了我一個逗號分隔的列表,它是一個NSString。

一個正確的方向點將不勝感激。

+0

哇......好問題!也許使用NSInvocation這可能以某種方式? – 2009-06-20 03:09:35

回答

16

該方法需要可變參數。用你的描述進行轉換並不是一個簡單的方法,在這種情況下嘗試這種轉換絕對不值得。這只是一個方便的方法。

只需使用-init並配置

+0

另請參閱Brad Smith在使用「addButtonWithTitle:」方法時按鈕排序的回答(但注意您*不要*需要繼承UIActionSheet以使用它;它們都是公共方法):http://stackoverflow.com/questions/1262205/uiactionsheet-addbuttonwithtitle-doesnt-add-buttons-in-the-right-order – 2011-12-15 13:58:18

4

不幸的是,you can't do this在Objective-C中。

+0

請參閱http://www.cocoawithlove.com/2009/05/variable-argument-lists-in-cocoa.html – 2014-01-30 00:54:37

相關問題