Ios 我为什么从另一个视图控制器调用时,我的表视图为零?
当用户通过将表视图中的标签设置为“ONLY MEMBER”注销时,我试图从左侧菜单(滑出)重新加载我的表视图控制器。因此,我调用了refreshAuctionLatestViewController.ViewWillDisplay(true)。但是,将在该方法中重新加载的表视图为零。有帮助吗 这是我的幻灯片菜单控制器(SlideMenu) 这是我的控制台输出,您将在下面看到nilIos 我为什么从另一个视图控制器调用时,我的表视图为零?,ios,uitableview,swift,uilabel,iboutlet,Ios,Uitableview,Swift,Uilabel,Iboutlet,当用户通过将表视图中的标签设置为“ONLY MEMBER”注销时,我试图从左侧菜单(滑出)重新加载我的表视图控制器。因此,我调用了refreshAuctionLatestViewController.ViewWillDisplay(true)。但是,将在该方法中重新加载的表视图为零。有帮助吗 这是我的幻灯片菜单控制器(SlideMenu) 这是我的控制台输出,您将在下面看到nil PostData: &appid=9cdcf896d1f54c3c11b0d4839ce26775 Resp
PostData: &appid=9cdcf896d1f54c3c11b0d4839ce26775
Response ==> {"status":"authorized"}
Status:
Already Sign In
Auction Latest : viewDidLoad
Auction Latest : ViewWillAppear
task completed
Optional(<UITableView: 0x7faa9c852000; framet a=s k( 0c o0m;p l3e2t0e d5
68); clipsToBounds = YES; hidden = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7faa9bda1f00>; layer = <CALayer: 0x7faa9bd9e750>; contentOffset: {0, -64}; contentSize: {320, 0}>)
Optional(<UITableView: 0x7faa9c852000; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7faa9bda1f00>; layer = <CALayer: 0x7faa9bd9e750>; contentOffset: {0, -64}; contentSize: {320, 91}>)
Auction Latest : ViewWillAppear
task completed
Optional(<UITableView: 0x7faa9c852000; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7faa9bda1f00>; layer = <CALayer: 0x7faa9bd9e750>; contentOffset: {0, -64}; contentSize: {320, 91}>)
Auction Latest : ViewWillAppear
task completed
Optional(<UITableView: 0x7faa9c852000; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7faa9bda1f00>; layer = <CALayer: 0x7faa9bd9e750>; contentOffset: {0, -64}; contentSize: {320, 91}>)
PostData: &email=example.test@gmail.com&appid=9cdcf896d1f54c3c11b0d4839ce26775
Response code: 200
Response ==> {"status":"ok"}
Status:
Error:
Log Out SUCCESS
Auction Latest : ViewWillAppear
task completed
nil
PostData:&appid=9cdcf896d1f54c3c11b0d4839ce26775
响应==>{“状态”:“已授权”}
地位:
已经登录
最新拍卖:viewDidLoad
最新拍卖:ViewWill出现
任务完成
可选()
可选()
最新拍卖:ViewWill出现
任务完成
可选()
最新拍卖:ViewWill出现
任务完成
可选()
PostData:&email=示例。test@gmail.com&appid=9cdcf896d1f54c3c11b0d4839ce26775
响应代码:200
响应==>{“状态”:“确定”}
地位:
错误:
注销成功
最新拍卖:ViewWill出现
任务完成
无
有什么想法?有什么建议吗?我为我的问题留下了评论。希望这有助于更新该菜单,您必须调用使用该表视图的类的方法,为此,您需要做一件事, 将该类的对象创建到要更新的其他类中,然后通过该调用创建该类的方法,如 [幻灯片视图将显示:是] 这里silderpage是菜单页的一个对象
我希望这对你完全有帮助……嗯,如果你不介意的话,请用swift解释,因为我不知道你说了什么。从你的解释来看,我用AuctionLatestViewController初始化了ActionLatestController和AuctionLatestViewController(见左菜单控制器顶部)。我这样调用了view controller类当用户点击“注销”时,在左侧菜单控制器上显示“self.refreshActionLatestController?.viewwillbeen(true)”。因此,这也不能解决问题。我更新了代码抱歉,我不太了解swift
import UIKit
class AuctionLatestViewController: UIViewController,UITableViewDataSource,UITableViewDelegate,AuctionAPIProtocol{
@IBOutlet var carTableView : UITableView?
@IBOutlet var carTableIndicator : UIActivityIndicatorView?
@IBOutlet var retryButton:UIButton?
var latestCars = [AuctionModel]()
var api : AuctionAPI?
var imageCache = [String : UIImage]()
var token : String = " "
var lotId : String = " "
var page : String = " "
override func viewDidLoad() {
println("Auction Latest : viewDidLoad")
super.viewDidLoad()
self.setNavigationBarItem()
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil)
carTableView?.hidden = true
retryButton?.hidden=true
carTableIndicator?.center
carTableIndicator?.startAnimating()
if TegKeychain.get("userToken_keyChain") == nil{
token = "null"
}
else{
token = TegKeychain.get("userToken_keyChain")!
}
lotId = "1"
page = "1"
api = AuctionAPI(delegate: self)
api!.searchAuctionLatestFor(token,lotId: lotId,page: page)
}
override func viewWillAppear(animated: Bool) {
println("Auction Latest : ViewWillAppear")
super.viewWillAppear(animated)
self.setNavigationBarItem()
if TegKeychain.get("userToken_keyChain") == nil{
token = "null"
}
else{
token = TegKeychain.get("userToken_keyChain")!
}
lotId = "1"
page = "1"
api = AuctionAPI(delegate: self)
api!.searchAuctionLatestFor(token,lotId: lotId,page: page)
}
//Table View DataSource and Delegate
// Implementing the json results from api.
func didReceiveAPIResults(results: NSDictionary) {
var resultsArr: NSArray = results["body"] as NSArray //fix
dispatch_async(dispatch_get_main_queue(), {
self.latestCars = AuctionModel.latestWithJSON(resultsArr)
println(self.carTableView)
self.carTableView?.reloadData() // I reload the table view
println(self.carTableView)// which return nil when i called from Slide Menu Controller.But return data,if the main view controller called.
self.retryButton?.hidden=true
self.retryButton?.enabled=false
self.carTableIndicator?.stopAnimating()
self.carTableView?.hidden = false
})
}
// The function that i call from slide menu when log out
func searchForResults(search:Bool){
println("Search Again")
retryButton?.enabled=false
retryButton?.hidden=true
carTableIndicator?.startAnimating()
api = AuctionAPI(delegate: self)
if TegKeychain.get("userToken_keyChain") == nil{
token = "null"
}
else{
token = TegKeychain.get("userToken_keyChain")!
}
lotId = "1"
page = "1"
api = AuctionAPI(delegate: self)
api!.searchAuctionLatestFor(token,lotId: lotId,page: page)
//it will go to didReceiveAPIResults() method
}
PostData: &appid=9cdcf896d1f54c3c11b0d4839ce26775
Response ==> {"status":"authorized"}
Status:
Already Sign In
Auction Latest : viewDidLoad
Auction Latest : ViewWillAppear
task completed
Optional(<UITableView: 0x7faa9c852000; framet a=s k( 0c o0m;p l3e2t0e d5
68); clipsToBounds = YES; hidden = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7faa9bda1f00>; layer = <CALayer: 0x7faa9bd9e750>; contentOffset: {0, -64}; contentSize: {320, 0}>)
Optional(<UITableView: 0x7faa9c852000; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7faa9bda1f00>; layer = <CALayer: 0x7faa9bd9e750>; contentOffset: {0, -64}; contentSize: {320, 91}>)
Auction Latest : ViewWillAppear
task completed
Optional(<UITableView: 0x7faa9c852000; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7faa9bda1f00>; layer = <CALayer: 0x7faa9bd9e750>; contentOffset: {0, -64}; contentSize: {320, 91}>)
Auction Latest : ViewWillAppear
task completed
Optional(<UITableView: 0x7faa9c852000; frame = (0 0; 320 568); clipsToBounds = YES; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7faa9bda1f00>; layer = <CALayer: 0x7faa9bd9e750>; contentOffset: {0, -64}; contentSize: {320, 91}>)
PostData: &email=example.test@gmail.com&appid=9cdcf896d1f54c3c11b0d4839ce26775
Response code: 200
Response ==> {"status":"ok"}
Status:
Error:
Log Out SUCCESS
Auction Latest : ViewWillAppear
task completed
nil