使用NSArray与指针转换不兼容的整数

时间:2014-12-27 18:18:53

标签: ios objective-c

我使用此代码在标题中定义我的数组:@property (strong, nonatomic) NSArray *editContents;

NSArray中的值使用以下代码设置:

self.editContents = @[
                      @[@-1,@-1],
                      @[@0,@80],
                      @[@0,@500],
                      @[@-1,@-1],
                      @[@-1,@-1],
                      @[@-1,@-1],
                      @[@-1,@-1],
                      @[@-1,@-1],
                      @[@-1,@-1],
                      @[@-1,@-1],
                      @[@-1,@-1]
                      ];

我正在使用TableView和TableViewCells做一些奇怪的事情来设置一些值。

然而,问题归结为IBOutlet中的代码:

self.superController.editContents[self.index.section][self.index.row] = [self.sortInput.text intValue];

2 个答案:

答案 0 :(得分:1)

您正在使用NSArray,因此无法更改NSArray的值。请使用NSMutableArray。但是对于您的代码,您需要将其转换为NSNumber

self.superController.editContents[self.index.section][self.index.row] = @([self.sortInput.text intValue]);

答案 1 :(得分:0)

self.superController.editContents[self.index.section][self.index.row] = @([self.sortInput.text intValue]);

但是,这不会起作用,因为editContents内的各个数组NSArray不是NSMutableArray s,因此它们是只读的。这样做:

@ [[@ [@ - 1,@ -1] mutableCopy]]

乏味,我知道。但我没有别的办法。