我有一個問題,我希望你能幫助我。我有幾個故事板視圖的應用程序,每個都有一個單獨的視圖控制器。我希望能夠在故事板的所有視圖中使用我自己的課程。這將使每個viewcontroller中的代碼更清潔,整個應用程序更易於調試等。該類將包含變量和方法。在IOS中創建類的實例6
我的總體目標是通過按鈕從用戶收集數據,然後將這些數據存儲在數據庫中。可以查看和修改數據,並生成統計數據。
由於大多數變量和方法將用於不同的視圖和不同的時間,我想將所有這些分開放在不同的文件中。
我也可以告訴你,這不是一個懶惰的捷徑,我在網上瀏覽了數百篇帖子等等,而我仍然無處可尋。
任何輸入是非常感謝!
感謝您抽出時間來閱讀這...
SomeClass.h具有下面的代碼:
#import <Foundation/Foundation.h>
@interface SomeClass : NSObject
{
NSString *dataOne;
NSString *dataTwo;
NSString *dataThree;
}
- (void) SetDataOne: (NSString*) dataOneReceived;
- (void) SetDataTwo: (NSString*) dataTwoReceived;
- (void) SetDataThree: (NSString*) dataThreeReceived;
- (void) saveSomeData;
@end
SomeClass.m具有下面的代碼:
#import "SomeClass.h"
@implementation SomeClass
- (void) SetDataOne: (NSString*) dataOneReceived {
dataOne = dataOneReceived;
}
- (void) SetDataTwo: (NSString*) dataTwoReceived {
dataTwo = dataTwoReceived;
}
- (void) SetDataThree: (NSString*) dataThreeReceived {
dataThree = dataThreeReceived;
}
- (void) saveSomeData {
// Here I do stuff with dataOne etc…
}
@end
SomeView.h有以下代碼:
#import <UIKit/UIKit.h>
#import "HeadViewController.h"
#import "SomeClass.h"
@interface SomeView : UIViewController
// contains stuff not needed to show here
- (IBAction)Done:(id)sender;
@end
SomeView.m具有下面的代碼:
#import "SomeView.h"
#import "SomeClass.h"
@interface SomeView()
@end
@implementation SomeView
- (void)viewDidLoad
{
[super viewDidLoad];
SomeClass *someClassObject = [[SomeClass alloc] init];
// Do any additional setup after loading the view.
}
// Other standard methods omitted
- (IBAction)Done:(id)sender {
[someClassObject SetDataOne: @」whatever text」];
[someClassObject SetDataTwo: @」whatever text」];
[someClassObject SetDataThree: @」whatever text」];
[someClassObject SaveSomeData];
Error Msg for all the above: 」Use of Undeclared Identifier ’someClassObject’
}
@end
註釋:您可以看到錯誤消息我在上面的代碼年底獲得。我不知道我做錯了什麼。我已經看過很多關於如何創建和調用類的示例,但似乎無法解決我的問題。另外,我看到一些在「main.m文件」中放置了「SomeClass * someClassObject = [[SomeClass alloc] init];」。如果我理解正確,那麼該文件是應用程序啓動時加載的第一個文件。如果是這樣,那麼我不能把它放在那裏,因爲我將不得不在幾個不同的視圖和其他時間創建我的課程的實例,而不是在應用程序啓動時。這就是我將它放在viewDidLoad方法中的原因。
「該文件是應用程序啓動時加載的第一個文件」 - 我建議您在嘗試深入iOS開發之前先回到一步並學習C語言。不加載文件,而是調用函數,'main()'是第一個。 – 2013-07-01 19:13:13
縮小您的問題並刪除不必要的代碼片段。在目前的形式下,這是一個無法引導的問題。 – allprog
我認爲你需要找到一些關於編程的好書。 「上網衝浪幾個小時」不是學習編程的方式。 –