yhl*_*yhl 0 objective-c nsarray ios
如果我想创建一个2x2数组,我会这样做:
NSArray *theArray = [NSArray arrayWithObjects:
[NSArray arrayWithObjects:@"String1",@"String2",nil],
[NSArray arrayWithObjects:@"String3",@"String4",nil],
nil];
Run Code Online (Sandbox Code Playgroud)
但是,如果我想以另一种方式创建它,我会收到错误"表达式不可分配"
[self theArray] = [NSArray arrayWithObjects:
[NSArray arrayWithObjects:@"String1",@"String2",nil],
[NSArray arrayWithObjects:@"String3",@"String4",nil],
nil];
Run Code Online (Sandbox Code Playgroud)
在上面的例子中使用我的[self theArray]的正确方法是什么?
self.theArray = [NSArray arrayWithObjects:...
Run Code Online (Sandbox Code Playgroud)
[self theArray] 是一个访问者,而不是一个变异者
或者你可以使用
[self setTheArray:[NSArray arrayWithObjects:...];
Run Code Online (Sandbox Code Playgroud)
使用点表示法完成属性分配.要保持简短,请使用NSArray文字语法.
self.theArray = @[
@[@"String1", @"String2"],
@[@"String3", @"String4"]
];
Run Code Online (Sandbox Code Playgroud)
这假设您theArray当然声明为属性并且可以使用setter:
@property(strong) NSArray *theArray;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |