This question already has answers here:
Passing Data between View Controllers
                                
                                    (43个答案)
                                
                        
                                5年前关闭。
            
                    
我使用一个返回数组的类,如下所示:

%hook firstHeader
-(void)firstMethod:(id)array{
    NSLog(@"Array %@", array);

   return %orig;
}
%end


nslog结果:

array (
  "<secondHeader: 0x17a2f3c0>",
  "<secondHeader: 0x17a2f530>",
  "<secondHeader: 0x17a2f5b0>",
  "<secondHeader: 0x17a2f720>"
)


忍受我,但我在这里听起来可能很愚蠢。
我如何使用secondHeader结果的数组对象,
由于secondHeader(或secondClass)包含方法

摘要:第一类的方法返回带有对象的数组,它希望我将这些对象与另一个类/标题(secondHeader)一起使用

最佳答案

按照您的评论“第一类的方法返回带有对象的数组,它希望我将这些对象与另一个类/头(第二头)一起使用”。只需在secondHeader类中将属性声明为:

@property (nonatomic, retain) NSMutableArray * yourArray;


在.m文件中将其合成为:

@synthesize yourArray


并在您的First class简单初始化中,将secondHeader的实例设置为yourArray的值:

-(void)firstMethod:(id)array
{
    NSLog(@"Array %@", array);

    secondHeader * secondClass = [[secondHeader alloc] init];
    secondClass.yourArray = array;

    return %orig;
}


将数组内容传递给secondClass后,您可以按以下方式按Index访问数组内容:

id obj = [yourArray objectAtIndex:1];   //id is Generic data type. You should set the right data type.


希望这会有所帮助。当然,可以有其他方式传递数据,但这是最简单的方式。

关于objective-c - objective-c -调用其他类(class)[重复项目],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24438279/

10-10 22:43