【发布时间】:2011-06-06 08:52:58
【问题描述】:
好吧,我完全被难住了。
这适用于 CouponListViewController.m:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.couponList = [CouponDatabase database].couponList;
self.title = @"Coupon List";
}
这在 CouponDetailViewController.m 中有效:
- (void)viewWillAppear:(BOOL)animated {
CouponDetails *details = [[CouponDatabase database] couponDetails:_uniqueId];
if (details != nil) {
[_merchantNameLabel setText:details.merchantName];
[_longDealLine1Label setText:details.longDealLine1];
//....blah...blah//
}
}
但是当我从这里更改 CouponDatabase.h 时(适用于上述内容):
@class CouponDetails;
@interface CouponDatabase : NSObject {
sqlite3 *_database;
}
+ (CouponDatabase *)database;
- (NSArray *)couponList;
- (CouponDetails *)couponDetails:(int) uniqueId;
...到这个(如果我在方法中手动设置'selectedCategory'的值,它会起作用):
@class CouponList;
@class CouponDetails;
@interface CouponDatabase : NSObject {
sqlite3 *_database;
}
+ (CouponDatabase *)database;
- (CouponList *)couponList:(int) selectedCategory;
- (CouponDetails *)couponDetails:(int) uniqueId;
然后将 CouponListViewController.m 更改为:
1 - (void)viewWillAppear:(BOOL)animated {
2 [super viewWillAppear:animated];
3 self.couponList = [[CouponDatabase database] couponList:_selectedCategory];
4 self.title = @"Coupon List";
5 }
我在上面的第 3 行收到此错误:
warning: incompatible Objective-C types 'struct CouponList *',
expected 'struct NSArray *' when passing argument 1 of 'setCouponList:'
from distinct Objective-C type
问题:'self.couponlist' 行的正确格式是什么,以便我可以将整数传递给 CouponDatabase 以在 couponList 方法中使用?
编辑:我知道couponDetails 现在是一个类而不是一个数组 - 我只是不知道如何格式化该行来初始化表数据。
我希望这是有道理的 - 对此的任何帮助将不胜感激。
提前致谢!
添加CouponListViewController.h:
#import <UIKit/UIKit.h>
@class CouponDetailsViewController;
@interface CouponListViewController : UITableViewController {
NSArray *_couponList;
CouponDetailsViewController *_couponDetails;
int _selectedCategory;
}
@property (nonatomic, retain) NSArray *couponList;
@property (nonatomic, retain) CouponDetailsViewController *couponDetails;
@property(nonatomic, assign) int selectedCategory;
@end
【问题讨论】:
-
请添加您的“CouponListViewController.h”,问题可能是那里没有正确声明成员变量。
标签: iphone uitableview