コードの残りの部分がどのように見えるかを知らなくても、ViewController.m ファイルでこれを試すことができます。ラベルのテキストを設定し、[OK] ボタンが押されたときに、変更可能な配列内のオブジェクトをアラート ビューのテキストに置き換えます。
#import "ViewController.h"
@interface ViewController () <UIAlertViewDelegate>
@property (strong,nonatomic) NSMutableArray *mutArray;
@property (weak,nonatomic) IBOutlet UILabel *label;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSArray *array = @[@"item1",@"item2",@"item3"];
self.mutArray = [[NSMutableArray alloc] init];
self.mutArray = [array mutableCopy];
}
- (IBAction)showAlert:(id)sender {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"My Alert Example"
message:@"message here"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK",nil];
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
[alert show];
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
int selected = 1;
if (buttonIndex != alertView.cancelButtonIndex) {
NSLog(@"ok button");
UITextField *textField = [alertView textFieldAtIndex:0];
self.label.text = textField.text;
[self.mutArray replaceObjectAtIndex:selected withObject:textField.text];
NSLog(@"mutArray is %@",self.mutArray);
} else {
NSLog(@"cancel button");
}
}
@end
UITableView を使用しているように見えるので、あなたの場合はint selected = indexPath.row
代わりにint selected = 1
.