2017-05-01 90 views
0

我想在我的數據文件中創建一個結構,這個結構可以在我的項目的另一個類中使用。我一直收到錯誤消息「Linker command failed with exit code 1(use -v to see invocation)。此外,它告訴我在data.m文件的main方法中有1個體繫結構x86_64的重複符號。解決方案頁面,並嘗試列出所有解決方案,例如確保沒有導入.m文件,將啓用位代碼更改爲否,檢查是否沒有重複文件以及從其他鏈接器標誌中刪除-ObjC。是相當新的Objective-C的,所以我想這可能是壞了我如何聲明結構。「連接器命令失敗,退出代碼1(使用-v來查看調用)」xCode

//data.h 
#import <Foundation/Foundation.h> 

@interface data : NSObject 

typedef struct Cards 
{ 
    __unsafe_unretained NSString* Name; 
    __unsafe_unretained NSString* Images; 
    __unsafe_unretained NSString* Phone; 
    __unsafe_unretained NSMutableAttributedString* Website; 
    int Restaurant_id; 
}Card; 

@property Card* ExampleCard; 
@end 

//data.m 
#import <Foundation/Foundation.h> 
#import "data.h" 


@implementation data 
@synthesize ExampleCard; 
@end 
int main() 
{ 
    Card Salernos; 
    Card *ExampleCard; // = malloc(sizeof(struct Cards) * 16); 

    /* Salernos Restaurant specification */ 
    Salernos.Name = @"P. Salerno's III"; 
    Salernos.Images = @"Salernos"; 
    Salernos.Phone = @"(609) 245-0474"; 
    Salernos.Website = [[NSMutableAttributedString alloc]initWithString:@"Order Now!"];//yourTextView.attributedText = str; 
    [Salernos.Website addAttribute: NSLinkAttributeName value: @"https://www.grubhub.com/restaurant/p-salernos-iii-1292-lower-ferry-rd-ewing/313805?utm_source=google&utm_medium=organic&utm_campaign=place%20action%20link" range: NSMakeRange(0, Salernos.Website.length)]; 
    ExampleCard[0] = Salernos; 

    return 0; 
} 

在,我想從我把

#import "data.h" 

... 
data *Data; 
的結構使用數據的類

我希望使用的數據被寫爲Data.ExampleCard [i],其中我是一個for循環來檢索數據。

回答

0

我認爲這是因爲你正在實施主要方法。主要方法由系統自動執行。 You should implement初始化method in your .m file instead of main`類似,

-(instancetype)init{ 

self = [super init]; 

if (self) { 
    Card Salernos; 
    Card *ExampleCard = malloc(sizeof(struct Cards) * 16); 

    /* Salernos Restaurant specification */ 
    Salernos.Name = @"P. Salerno's III"; 
    Salernos.Images = @"Salernos"; 
    Salernos.Phone = @"(609) 245-0474"; 
    Salernos.Website = [[NSMutableAttributedString alloc]initWithString:@"Order Now!"];//yourTextView.attributedText = str; 
    // [Salernos.Website addAttribute: NSLinkAttributeName value: @"https://www.grubhub.com/restaurant/p-salernos-iii-1292-lower-ferry-rd-ewing/313805?utm_source=google&utm_medium=organic&utm_campaign=place%20action%20link" range: NSMakeRange(0, Salernos.Website.length)]; 
    ExampleCard[0] = Salernos; 



} 
return self; 
} 
+0

我認爲這會爲我工作,但走到這一步,擺脫了錯誤消息。我是否需要更改其他課程中的數據*數據行? –

+0

你應該分配並初始化它! – Lion

相關問題