如何从Objective-c中的另一个方法添加新的数组元素?

时间:2016-10-04 09:29:34

标签: objective-c

我有一些数组(@private NSArray employees [];)和方法,它接受字符串参数(员工姓名)并将此参数放在数组中。我如何用Objective-c做到这一点?

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作,

创建一个属性

controller
class travelApprovalController extends Controller {
public function index(){
//$users = DB::table('passenger')->paginate(2); 
$users = DB::table('users')
        ->join('department', 'users.department_id', '=', 'department.id')

        ->select('users.*', 'department.name as dept_name')
        ->get();   //->paginate(2)
  return view('approval_view',['users'=>$users]);
}

approval.blade.php
@foreach ($users as $user)
     <tr>
        <td>{{ $user->id }}</td>
        <td><a href="#" class="viewPopLink" role="button" data-id="{{ $user->id }}" data-toggle="modal" data-target="#myModal">{{ $user->dept_name }}<a></td>
        <td>{{ $user->dept_name }}</td>
        <td>{{ $user->name }}</td>

    </tr>

     @endforeach
    </tbody>
  </table>
  </div>
{{$users->links()}} 

在init方法或其他适当的地方初始化数组,

@property (nonatomic) NSMutableArray *array;

您的方法看起来像这样,

self.array = [[NSMutableArray alloc] init];

答案 1 :(得分:1)

您可以创建一个Employee类,并在您的数组中使用类型。 例如:

NSArray<Employee*> * employees = [[NSArray alloc] init];

此时,您的方法将是:

-(Employee *)createEmployee:(NSString *)name{
   Employee *myEmpl = [[Employee alloc]init];
   [myEmpl setName:name];
   return myEmpl;
}

你可以用这种方式在你的数组中添加对象(类型为Employee):

[employees addObject:[self createEmployee]];

同样的事情可能是NSString类型的对象而不是Employee。 您还可以避免在NSArray中定义类型,因为Objective-C使用类型推断