没有可见的@interface用于'联系'声明选择器' initWithName:thumbnail:email:'

时间:2016-04-13 19:08:30

标签: ios objective-c

我的代码出了什么问题?

我在google上查看了有关错误的更多信息,但找不到任何解决方案。谁能帮我解决这个问题呢?

错误发生在以下几行:

  1. self = [self initWithName:dic [@" name"] thumbnail:dic [@" thumbnail"] 电子邮件:DIC [@"电子邮件"]];
  2. self = [self initWithName:@" Undifined"     缩略图:@" Undifined"电子邮件:@" Undifined"];
  3. Contact.h

    //
    //  Contact.h
    //  Teste
    //
    //  Created by Samuel Neiva on 13/04/16.
    //  Copyright (c) 2016 Samuel Neiva. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface Contact : NSObject
    
    @property (strong, nonatomic) NSString *name;
    @property (strong, nonatomic) NSString *thumbnail;
    @property (strong, nonatomic) NSString *email;
    
    - (id)initWithName:(NSString *)aName
             thumbnail:(NSString *)aThumbnail
                 photo:(NSString *)aEmail;
    
    - (id)initWithDictionary:(NSDictionary *)dic;
    
    @end
    

    Contact.m

    //
    //  Contact.m
    //  Teste
    //
    //  Created by Samuel Neiva on 13/04/16.
    //  Copyright (c) 2016 Samuel Neiva. All rights reserved.
    //
    
    #import "Contact.h"
    
    @implementation Contact
    
    - (id)initWithDictionary:(NSDictionary *)dic {
        self = [self initWithName:dic[@"name"] thumbnail:dic[@"thumbnail"] email:dic[@"email"]];
        return self;
    }
    
    - (id)init {
        self = [self initWithName:@"Undifined" thumbnail:@"Undifined" email:@"Undifined"];
        return self;
    }
    
    //The designated initializer
    - (id)initWithName:(NSString *)aName
             thumbnail:(NSString *)aThumbnail
                 photo:(NSString *)aEmail {
    
        self = [super init];
    
        if (self) {
            self.name = aName;
            self.thumbnail = aThumbnail;
            self.email = aEmail;
        }
    
        return self;
    }
    
    - (NSString *)description {
        return [NSString stringWithFormat:@"%@ : %@", self.name, self.description];
    }
    
    
    @end
    

1 个答案:

答案 0 :(得分:0)

Contact没有声明该方法,就像警告所说的那样。它声明initWithName:thumbnail:photo