访问由另一个类的frord声明添加的类属性

用户名

我有一堂课

@interface AppRecord : NSObject

  @property (nonatomic, retain) NSString * urlSingle;
  @property (nonatomic, retain) NSArray * image_url;

@end

它包含在另一个类中

@class AppRecord;
@interface IconDownloader : NSObject

  @property (nonatomic, strong) AppRecord *appRecord;

@end

这是我的根视图控制器

#import "IconDownloader.h"
@implementation RootViewController
- (void)viewDidLoad
{
    [super viewDidLoad];

    self.imageDownloadsInProgress = [NSMutableDictionary dictionary];
}

- (void)startIconDownload:(AppRecord *)appRecord forIndexPath:(NSIndexPath *)indexPath
{
        IconDownloader *iconDownloader = [self.imageDownloadsInProgress objectForKey:indexPath];
if (iconDownloader == nil)
{
   iconDownloader = [[IconDownloader alloc] init];         
    int imgArrCount=[appRecord.image_url count];
    NSLog(@"Image array is********************** %@",appRecord.image_url);
    for(int i=0;i<imgArrCount;i++)
    {
        iconDownloader.appRecord.urlSingle=[appRecord.image_url objectAtIndex:i];
        NSLog(@"iconDownloader.appRecord.urlSingle---------------------%@",iconDownloader.appRecord.urlSingle);


    }
 }  
}   

@end

我可以在这里分配iconDownloader.appRecord.urlSingle吗,我的值为空。请帮助。

阿玛

这与前向声明无关。转发声明一个类时,应在使用任何类的属性/方法之前#import.h文件保存。

问题是尚未创建属性appRecordin iconDownloader,因此是nil在您的代码中,您应该这样做。

- (void)startIconDownload:(AppRecord *)appRecord forIndexPath:(NSIndexPath *)indexPath

    //...

    for(int i=0;i<imgArrCount;i++)
    {
        // First assign to the property so that it is not nil
        iconDownloader.appRecord = appRecord;
        // If required then make this assignment
        iconDownloader.appRecord.urlSingle=[appRecord.image_url objectAtIndex:i];
    }

    //...
}

或者,您也可以覆盖initinIconDownloader类并在其中创建appRecord属性,这样nil在分配值时就不会如此

希望对您有所帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

另一个文件中的访问类属性

来自分类Dev

类的重载另一个类属性的类型

来自分类Dev

如果在Typescript中输入另一个类属性,则如何将其声明为必选类?

来自分类Dev

访问另一个类的类级别属性?

来自分类Dev

如何删除一个类属性,它是另一个类的列表

来自分类Dev

从另一个类(单独的XIB)访问属性

来自分类Dev

如何访问并获取另一个类的属性?

来自分类Dev

从另一个类访问IBOutlet属性

来自分类Dev

另一个属性的Swift类属性

来自分类Dev

在类方法之外声明一个类属性

来自分类Dev

在另一个类属性中使用类名。

来自分类Dev

查看另一个域类中的grails域类属性

来自分类Dev

类属性应从另一个类(vb.net)提供

来自分类Dev

如何在另一个类中使用类属性?

来自分类Dev

声明一个变量-从另一个类访问它?

来自分类Dev

iOS KVO 观察另一个类属性

来自分类Dev

在__init__中定义一个类属性,而不是在另一个类方法中定义-python

来自分类Dev

从方法访问父类变量,由另一个类使用

来自分类Dev

如何访问在另一个类中声明的类?

来自分类Dev

目标 C:如何访问 AppDelegate 中另一个类中声明的类?

来自分类Dev

将类声明为另一个类中的属性

来自分类Dev

将另一个类的项目添加到另一个类的属性。目标C

来自分类Dev

将另一个类的项目添加到另一个类的属性。物镜

来自分类Dev

如何访问在属于另一个Java类的方法中声明的变量?

来自分类Dev

是否可以从另一个文件访问python文件中声明的类的特定实例?

来自分类Dev

在类中声明属性,该类在C ++中具有另一个类型

来自分类Dev

当通过另一个类的指针访问时,包含“随机”值的类的数组属性

来自分类Dev

如何访问属于我传递给另一个类的类的实例的属性?

来自分类Dev

python中使用另一个类对象的列表作为类属性时的奇怪行为

Related 相关文章

  1. 1

    另一个文件中的访问类属性

  2. 2

    类的重载另一个类属性的类型

  3. 3

    如果在Typescript中输入另一个类属性,则如何将其声明为必选类?

  4. 4

    访问另一个类的类级别属性?

  5. 5

    如何删除一个类属性,它是另一个类的列表

  6. 6

    从另一个类(单独的XIB)访问属性

  7. 7

    如何访问并获取另一个类的属性?

  8. 8

    从另一个类访问IBOutlet属性

  9. 9

    另一个属性的Swift类属性

  10. 10

    在类方法之外声明一个类属性

  11. 11

    在另一个类属性中使用类名。

  12. 12

    查看另一个域类中的grails域类属性

  13. 13

    类属性应从另一个类(vb.net)提供

  14. 14

    如何在另一个类中使用类属性?

  15. 15

    声明一个变量-从另一个类访问它?

  16. 16

    iOS KVO 观察另一个类属性

  17. 17

    在__init__中定义一个类属性,而不是在另一个类方法中定义-python

  18. 18

    从方法访问父类变量,由另一个类使用

  19. 19

    如何访问在另一个类中声明的类?

  20. 20

    目标 C:如何访问 AppDelegate 中另一个类中声明的类?

  21. 21

    将类声明为另一个类中的属性

  22. 22

    将另一个类的项目添加到另一个类的属性。目标C

  23. 23

    将另一个类的项目添加到另一个类的属性。物镜

  24. 24

    如何访问在属于另一个Java类的方法中声明的变量?

  25. 25

    是否可以从另一个文件访问python文件中声明的类的特定实例?

  26. 26

    在类中声明属性,该类在C ++中具有另一个类型

  27. 27

    当通过另一个类的指针访问时,包含“随机”值的类的数组属性

  28. 28

    如何访问属于我传递给另一个类的类的实例的属性?

  29. 29

    python中使用另一个类对象的列表作为类属性时的奇怪行为

热门标签

归档