我控制了这样的事情
#import <Foundation/Foundation.h>
#import "AQLevelMeter.h"
#import "AQPlayer.h"
#import "AQRecorder.h"
@interface SpeakHereController : NSObject {
IBOutlet UIBarButtonItem* btn_record;
IBOutlet UIBarButtonItem* btn_play;
IBOutlet UILabel* fileDescription;
IBOutlet AQLevelMeter* lvlMeter_in;
AQPlayer* player;
AQRecorder* recorder;
BOOL playbackWasInterrupted;
BOOL playbackWasPaused;
}
@property (nonatomic, retain) UIBarButtonItem *btn_record;
@property (nonatomic, retain) UIBarButtonItem *btn_play;
@property (nonatomic, retain) UILabel *fileDescription;
@property (nonatomic, retain) AQLevelMeter *lvlMeter_in;
@property (readonly) AQPlayer *player;
@property (readonly) AQRecorder *recorder;
@property BOOL playbackWasInterrupted;
@property BOOL isReport;
@property CFStringRef recordFilePath;
- (IBAction)record: (id) sender;
- (IBAction)play: (id) sender;
-(void) InitializeThePlayer;
@end
我们可以看到我添加了许多属性,如
@property BOOL isReport;
@property CFStringRef recordFilePath;
然后我创建了uiview包含这个控件
#import <UIKit/UIKit.h>
@class SpeakHereController;
@interface SpeakHereViewController : UIViewController {
IBOutlet SpeakHereController *controller;
}
现在我想访问控件对象的属性,所以我说
- (void)viewWillAppear:(BOOL)animated {
[self ReportDirectory];
[controller setIsReport:self.iSReport ];
//controller.isReport = self.iSReport ;
[controller setRecordFilePath:(CFStringRef) self.DICOMpath];
//controller.recordFilePath = ;
}
问题在于行
[controller setIsReport:self.iSReport ];
[controller setRecordFilePath:(CFStringRef) self.DICOMpath];
有警告说
warning: no '-setIsReport:' method found
我做了
@synthesize isReport;
@synthesize recordFilePath;
如果我更换了@class SpeakHereController;通过#import“SpeakHereController.h”它引发了很多错误,你可以从苹果下载示例代码
如果我说controller.isReport = self.iSReport;它会在非结构或联合的
中提出成员'isReport'的错误请求我的问题是如何调用此控件中的属性,我错过了什么
祝你好运
我试过
答案 0 :(得分:1)
在SpeakHereViewController.m的顶部,你需要
import "SpeakHereController.h"
否则,当编译SpeakHereViewController.m时,它完全不知道您的SpeakHereController
类有哪些方法和属性
即使有警告也应该运行正常,因为该属性确实存在。但是,我同意你的意见,需要处理警告。
答案 1 :(得分:0)
您应该在.m文件中合成这些属性。
语法如下:
@synthesize isReport, recordFilePath;