UILabel未显示应用内购买标题

时间:2014-01-12 19:21:13

标签: ios iphone objective-c in-app-purchase uilabel

我正在进行应用内购买标题(我可以在NSLog中看到它),但显示标题的UILabel会在{{1}之后调用}。有没有办法在viewDidLoad之前获得标题,以便UILabel显示标题

以下是我的代码。如果您需要我发布任何内容,请告诉我,谢谢!

PurchaseViewController.h

viewDidLoad

PurchaseViewController.m

@interface PurchaseViewController : UIViewController
<SKPaymentTransactionObserver, SKProductsRequestDelegate>

@property (strong, nonatomic) SKProduct *product;
@property (strong, nonatomic) NSString *productID;
@property (strong, nonatomic) IBOutlet UILabel *productTitle;
@property (strong, nonatomic) IBOutlet UIButton *buyButton;
@property (strong, nonatomic) IBOutlet UITextView *productDescription;
- (IBAction)buyProduct:(id)sender;
- (void)getProductInfo:(UIViewController *)viewController;

@property (nonatomic) int buttonNumber;

@end

2 个答案:

答案 0 :(得分:1)

通常的架构是在显示包含信息的视图之前获取产品信息。然后在创建视图控制器并显示其视图时将该信息传递给视图控制器。

答案 1 :(得分:0)

此外,您不应该在任何视图控制器代码中处理这些事情。获取产品信息和类似的东西(位置,会话,应用程序模型的工厂等)是一个典型的共享数据用例,用于(可选的有状态)Manager单例(在本例中为fe PurchaseManager),可在应用程序启动时调用/ AppDelegate方法和后台工作,独立于您的UI代码/线程。

示例:

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    [[PurchaseManager defaultManager] fetchProducts];
}