2012-07-28 244 views
1

嗨,我正在創建一個動態的表視圖,並試圖從存儲在其他文件中的方法上傳信息。當我嘗試測試,如果我得到的信息,我得到的馬霍連接錯誤的i386硬件架構Apple Macho鏈接器錯誤Xcode

未定義的符號: 「_OBJC_CLASS _ $ _ FlickrFetcher」,從引用: objc級,裁判在MyTableViewController.o LD:符號(s)未找到架構i386

這是我的代碼,我補充說,導致了問題。

FlickerFetcher.h 這其中有我的電話tableViewController topPlaces

@interface FlickrFetcher : NSObject 

+ (NSArray *)topPlaces; 
+ (NSArray *)photosInPlace:(NSDictionary *)place maxResults:(int)maxResults; 
+ (NSURL *)urlForPhoto:(NSDictionary *)photo format:(FlickrPhotoFormat)format; 

@end 

TableViewController文件的方法。我認爲問題發生在setter Brain中,當我懶惰地創建它時,因爲在我添加它之前代碼工作正常,NSlog返回了NUll,因爲沒有對象但它工作,然後當我添加setter來安裝它時,我得到了Macho鏈接器錯誤。

#import "MyTableViewController.h" 
#import "FlickrFetcher.h" 

@interface MyTableViewController() 
@property (nonatomic, strong) FlickrFetcher* brain; 
@end 

@implementation MyTableViewController 
@synthesize brain= _brain; 

//Error occured after I added this setter 
-(FlickrFetcher*) brain 
    { 
    if (!_brain) _brain= [[FlickrFetcher alloc] init]; 
    return _brain; 
} 


- (id)initWithStyle:(UITableViewStyle)style 
{ 
self = [super initWithStyle:style]; 
if (self) { 
    // Custom initialization 
    } 
return self; 
} 

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 


//use a class method call since this is a class method 
NSLog(@"Class = %@", [self.brain class]); 
NSLog(@"Array = %@", [[self.brain class] topPlaces]); 

} 
+0

真的沒有人知道如何提供幫助? – 2012-07-29 02:44:36

+1

更多StackOverflow禮節:如果您解決了自己的問題,最好將解決方案作爲答案發布,然後接受答案。它幫助尋找相同問題的其他人找到解決方案! – rickster 2012-07-30 05:00:20

+0

好的,謝謝我做了你的建議 – 2012-08-01 00:38:45

回答

6

我發現了錯誤,事實證明,文件FlickrFetcher不編譯或在編譯列表,我點擊我的導航菜單中的項目,根據目標去,然後點擊我的應用程序,進入固定這構建階段,然後在編譯源中添加文件。希望能夠幫助任何有此問題的人

0

objc-class-ref部分包含您應用程序使用的類信息。它可以找到MyTableViewController,但找不到FlickrFetcher類信息。 所以問題是FlickrFetcher類沒有添加到編譯拱。