ios - 将数据从 ViewController 传递到实例化的自定义 viewcontroller
<p><p>我正在尝试将数据从我的数据库传递到在此函数中实例化的新 ViewController 中的 UILabels 中。我已经测试了数据是否被正确抓取,并且工作正常。</p>
<p>我相信我没有正确引用 DataViewController 中的 UILabel 进行实例化。当我尝试 NSLog (dataViewController.cartAddress) 时,我得到空值</p>
<p>有什么帮助吗?</p>
<p>ViewController.m</p>
<pre><code>- (void) mapView:(GMSMapView *)mapView didTapInfoWindowOfMarker: (GMSMarker *)marker {
NSObject_DatabaseHelper *dataToPush = ;
NSArray *cartDataToPush = ;
UIStoryboard *storyboard = ;
DataViewController *dataViewController = (DataViewController *);
dataViewController.cartAddress.text = cartDataToPush;
dataViewController.thumbsUp.text = cartDataToPush;
dataViewController.thumbsDown.text = cartDataToPush;
dataViewController.pitaBool.text = cartDataToPush;
dataViewController.drinkBool.text = cartDataToPush;
dataViewController.greenSauceBool.text = cartDataToPush;
;
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>当你实例化 viewController 时,它还没有设置它的 UI。
因此,在 viewController 的 viewDidLoad 回调触发之前,您将无法与 UILabel 进行交互。因此,最好的方法是设置 NSString 属性并在 viewDidLoad 中将它们设置为 UILabel。类似的东西</p>
<pre><code>@property (nonatomic, strong) NSString *cartAddressText;
/* ... */
</code></pre>
<p>然后在 viewDidLoad 中</p>
<pre><code>- (void) viewDidLoad {
;
self.cartAddress.text = self.cartAddressText;
/* ... */
}
</code></pre></p>
<p style="font-size: 20px;">关于ios - 将数据从 ViewController 传递到实例化的自定义 viewcontroller,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/30008174/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/30008174/
</a>
</p>
页:
[1]