我正在进行应用内购买标题(我可以在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
答案 0 :(得分:1)
通常的架构是在显示包含信息的视图之前获取产品信息。然后在创建视图控制器并显示其视图时将该信息传递给视图控制器。
答案 1 :(得分:0)
此外,您不应该在任何视图控制器代码中处理这些事情。获取产品信息和类似的东西(位置,会话,应用程序模型的工厂等)是一个典型的共享数据用例,用于(可选的有状态)Manager单例(在本例中为fe PurchaseManager),可在应用程序启动时调用/ AppDelegate方法和后台工作,独立于您的UI代码/线程。
示例:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[[PurchaseManager defaultManager] fetchProducts];
}