这个项目的目标是让用户输入两个单独的字符串并能够连接在一起。在控制台中,您可以看到输入的所有concat历史记录用户。
例如,第一次,用户输入“app”和“le”,然后单击“合并”按钮,然后控制台存储“apple”。
然后,用户输入“123”和“45”,然后在控制台中显示用户输入“apple”和“12345”。
我现在的问题是,我无法在我的可变数组中存储任何用户输入。
如果有人可以提供帮助我感激不尽!
这是我的代码:
import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *myString1;
@property (weak, nonatomic) IBOutlet UITextField *myString2;
@property (weak, nonatomic) IBOutlet UILabel *myLabel;
@property (weak, nonatomic) IBOutlet UILabel *combinedString;
@property (nonatomic, strong) NSMutableArray *arrayhere;
@property int arrayCount;
- (IBAction)buttonPressed:(id)sender {
NSString *userInput1 = self.myString1.text;
NSString *userInput2 = self.myString2.text;
NSString *result = [NSString stringWithFormat: @"%@%@", userInput1, userInput2];
self.combinedString.text = result;
[self.arrayhere insertObject:result atIndex:self.arrayCount];
self.arrayCount++;
NSLog(@"list of portmanteaus is %@ ", self.arrayhere);
}
答案 0 :(得分:0)
在viewDidLoad中:您需要添加:
self.arrayhere = [[NSMutableArray alloc] init];
然后在你的buttonPressed动作中,你需要替换:
[self.arrayhere insertObject:result atIndex:self.arrayCount];
使用:
[self.arrayhere addObject:result];
这将自动将该对象添加到数组的末尾,不需要具有数组计数的属性,因为@rmaddy声明它已经是NSMutableArray的属性。
因此,您也可以删除此行:
self.arrayCount++;
答案 1 :(得分:0)
你应该试试这个,
import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *myString1;
@property (weak, nonatomic) IBOutlet UITextField *myString2;
@property (weak, nonatomic) IBOutlet UILabel *myLabel;
@property (weak, nonatomic) IBOutlet UILabel *combinedString;
@property (nonatomic, strong) NSMutableArray *arrayhere;
@property int arrayCount;
- ( void )viewDidLoad {
[super viewDidLoad];
arrayhere = [NSMutableArray new];
}
- (IBAction)buttonPressed:(id)sender {
NSString *userInput1 = self.myString1.text;
NSString *userInput2 = self.myString2.text;
NSString *result = [NSString stringWithFormat: @"%@%@", userInput1, userInput2];
[arrayhere addObject:result];
NSLog(@"list of portmanteaus is %@ ", self.arrayhere);
}