2012-10-08 95 views
2

我希望你能在Objective-C中解決以下問題。現在我已經坐了兩個小時了,但我不知道什麼是錯的。不能調用其他類的實例方法

Here's我的代碼:

BMICalc.h:

#import <UIKit/UIKit.h> 

@interface BMICalc : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate> 

@property (strong, nonatomic) NSMutableArray *bmiArray; 

-(int)bmiRows; 

@end 

BMICalc.m:

#import "BMICalc.h" 

@implementation BMICalc 

@synthesize bmiArray; 

- (int) bmiRows 
{ 
    if (!bmiArray) 
    { 
     bmiArray = [[NSMutableArray alloc] init]; 
    } 
    return [bmiArray count]; 
} 

@end 

現在我想在名爲BMIDiaryController另一個類來創建BMICalc的對象:

BMIDiaryController.m:

#import "BMIDiaryController.h" 
#import "BMICalc.h" 

@interface BMIDiaryController() 

@end 

@implementation BMIDiaryController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    BMICalc *bmiSender = [[BMICalc alloc] init]; 

    int bmiVariable = [bmiSender bmiRows];  
} 

@end 

所以,當我開始計劃我得到以下錯誤: 「爲‘BMICalc’不可見@interface聲明選擇‘bmiRows’

我不能調用方法‘bmiRows’與對象「bmiSender」(均爲「BMICalc」類)

我希望你能幫助我。我找啊找......我想it's只是一個很小的事情,但我不會致使看到它... ...

謝謝和問候,

斯特凡

+0

它在你的錯誤信息中說'BMIClass',但是它在程序中是'BMICalc'。你輸錯了名字嗎? – dasblinkenlight

+0

錯誤是真的說BMIClass,而不是BMICalc,或者是一個錯字? – rdelmar

+0

哦,我很抱歉,當然是「BMICalc」 –

回答

0

嘗試創建一個新項目。然後添加BMICalc.m和BMICalc.h文件。嘗試實例化您的BMICalc對象,並調用appDelegate中的bmiRows方法來測試它。您的主項目中可能有任何錯誤可能會干擾課程。至少這樣做會證實你並不瘋狂,並且這個代碼不是問題:)

+1

我剛剛創建了一個新項目並添加了BMICalc.m和BMICalc.h - 它工作正常!我會嘗試重新創建我的整個項目,這個應該是可行的。Weired。非常感謝! –

+0

沒問題!很高興你走在正確的道路上! – bgolson