我創建一個縱橫字謎型應用程序,現在用的是下面的代碼,使電網:如何引用的iOS UITextFields
- (void) viewDidLoad{
[...]
//we are inside 2 loops (puzzleRow and i), 15 rows (puzzleRow), 15 cols (i)...
UITextField *inputBox = [[UITextField alloc] initWithFrame:letterFrame];
key = (puzzleRow * 100) + i;
[inputBox setTag:key];
[....]
}
後來,我想引用UITextField
並得到他們的價值,檢查這對正確的答案,等
- (IBAction)checkSolutionButton:(id)sender {
int i = 1;
for (id obj in self.Puzzle) {
int len = [obj length];
for(int j = 0; j < len; j++){
NSRange range = NSMakeRange(j, 1);
NSString *answer = [obj substringWithRange:range];
int key = (i * 100) + j;
UIView *userGuessSquare = [self.view viewWithTag:key];
UITextField *userGuessTextField = [userGuessSquare viewWithTag:key];
NSString *guess = userGuessTextField.text;
NSLog(@"guess: %@", guess);
}
}
}
self.Puzzle是字符串NSArray
(ANSWER1..ANSWER2,ANSWER3..ANSWER4)體質測試一個縱橫字謎的行,點是黑色的方塊。 UIView
是UITextField
的持有者,每個UIView
及其UITextField
具有相同的密鑰。
在這裏,我卡住了。我收到一個警告Incompatible pointer types initializing UITextField with an expression type UIView
我以爲它是一個子類?
NSString *guess = userGuessTextField.text;
是不行的。
問題: 如何製作一組UITextField
(s),然後訪問它們及其值?
(編輯包括整個IBAction
方法)。
如果您確定從'viewWithTag:'返回的視圖始終是'UITextField',那麼您可以明確地將其轉換爲'UITextField'類以使警告無提示。 – tia 2012-01-02 04:58:47