Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS:如何查询nsmutablearray对象中的对象_Iphone_Ios_Objective C_Nsmutablearray_Nsobject - Fatal编程技术网

Iphone iOS:如何查询nsmutablearray对象中的对象

Iphone iOS:如何查询nsmutablearray对象中的对象,iphone,ios,objective-c,nsmutablearray,nsobject,Iphone,Ios,Objective C,Nsmutablearray,Nsobject,有人能帮我告诉我如何访问NSMutableArray中的对象吗 以下是创建对象的方式: 视图控制器: Students *studens =[[Students alloc] initWithDictionary:data]; //where data is NSDictionary [self.studentData addObject:studens]; //where studentData is a NSMutableArray 在学生中有一个NSObject类。在学生课堂上: -(i

有人能帮我告诉我如何访问NSMutableArray中的对象吗

以下是创建对象的方式:

视图控制器:

Students *studens =[[Students alloc] initWithDictionary:data]; //where data is NSDictionary
[self.studentData addObject:studens]; //where studentData is a NSMutableArray
在学生中有一个NSObject类。在学生课堂上:

-(id)initWithDictionary:(NSDictionary *)studenDictionary
    self = [super init];
    if (self)
    {
        self.studentName= [stateDictionary objectForKey:@"name"];
        self.studenLastName= [stateDictionary objectForKey:@"lastName"];
        self.StundenAddress= [stateDictionary objectForKey:@"address"];
    }
    return self;
}
如果我nslog nsmutablearray,我将获得以下输出:

"<studens: 0x756b970>",
"<studens: 0xf46f9a0>"
“”,
""
例如,我的问题是如何访问学生姓名John的信息?

请查看。它可能会解决你的问题。 NSPredicates是可以在对象上运行的查询,对于从数组中搜索特定对象等功能非常有用。

请查看。它可能会解决你的问题。 NSPredicates是可以在对象上运行的查询,对于从数组中搜索特定对象等功能非常有用。

试试这个

Students *studenobj =[self.studentData objectAtIndex:0];
NSLog(@"%@",studenobj. studentName)
试试这个

Students *studenobj =[self.studentData objectAtIndex:0];
NSLog(@"%@",studenobj. studentName)
如果我记录nsmutablearray,我将得到以下输出:
"",
""
当您试图打印学生类对象时,这就是为什么您需要像这样访问对象的实例变量

for(int i=0; i<[self.studentDataArray count]; i++)
{
    Students *studenobject =[self.studentDataArray objectAtIndex:i];
    NSLog(@"Name of Student = %@",studenobject.studentName);
    NSLog(@"Last Name of Student = %@",studenobject.studenLastName);
    NSLog(@"Address of Student = %@",studenobject.StundenAddress);

}
for(int i=0;i
如果我记录nsmutablearray,我将得到以下输出:
"",
""
当您试图打印学生类对象时,这就是为什么您需要像这样访问对象的实例变量

for(int i=0; i<[self.studentDataArray count]; i++)
{
    Students *studenobject =[self.studentDataArray objectAtIndex:i];
    NSLog(@"Name of Student = %@",studenobject.studentName);
    NSLog(@"Last Name of Student = %@",studenobject.studenLastName);
    NSLog(@"Address of Student = %@",studenobject.StundenAddress);

}

for(int i=0;i在
学生
课堂上实施
描述
方法:

- (NSString *)description {
    return [NSString stringWithFormat:@"Students: name: %@, lastName: %@, address: %@", self.studentName, self.studentLastNAme, self.studentAddress];
}

现在,当您记录数组时,您将看到关于数组中每个
学生
对象的有用信息。

学生
类中实现
描述
方法:

- (NSString *)description {
    return [NSString stringWithFormat:@"Students: name: %@, lastName: %@, address: %@", self.studentName, self.studentLastNAme, self.studentAddress];
}
现在,当您记录阵列时,您将看到关于阵列中每个
学生
对象的有用信息。

使用此项访问:

for(Students *studens in self.studentData)
{
   NSLog(@"Name = %@",students.studentName);
   NSLog(@"LastName = %@",students.studenLastName);
   NSLog(@"Address = %@",students.StundenAddress);
   //or
   NSLog(@"%@",students);//if you have define description method in Students class...
}
如果要将所有局部变量值一起打印为对象的打印,则必须在学生课堂上编写描述方法,如:

复制并粘贴到你的学生课堂上

-(NSString *) description
{
   return [NSString stringWithFormat@"Name = %@ \n Last Name= %@  \n Address = %@",self.studentName,self.studenLastName,self.StundenAddress];
}
现在,如果您
NSLog(@“%@”,学生);
它将显示所有信息。

使用此访问:

for(Students *studens in self.studentData)
{
   NSLog(@"Name = %@",students.studentName);
   NSLog(@"LastName = %@",students.studenLastName);
   NSLog(@"Address = %@",students.StundenAddress);
   //or
   NSLog(@"%@",students);//if you have define description method in Students class...
}
如果要将所有局部变量值一起打印为对象的打印,则必须在学生课堂上编写描述方法,如:

复制并粘贴到你的学生课堂上

-(NSString *) description
{
   return [NSString stringWithFormat@"Name = %@ \n Last Name= %@  \n Address = %@",self.studentName,self.studenLastName,self.StundenAddress];
}

现在,如果您
NSLog(@“%@”,学生);
它将显示所有信息。

建议-将您的
Student
类重命名为
Student
,因为每个实例代表一个学生。建议-将您的
Student
类重命名为
Student
,因为每个实例代表一个学生。