0
大家好,我想知道您是否可以更新按鈕中的單元格?我有代碼按鈕按下,它得到你的經緯度和打印出來,但現在我試圖更新我的其他迅速文件中的Lat和Lng單元格CoordinatesAltitudeDegreesTableViewCell.swift 截至目前我的tableview函數似乎工作,我測試更新viewController函數中的單元格,它的工作原理。用swift快速更新Tableview單元格
我的問題是,反正把這些功能的按鈕,緯度/經度變量範圍
旁註:我一直在尋找解決方案的兩天,似乎我所能找到的任何頁面幫我,希望這心不是一個重新發布,如果有則提前對不起
*再次,對不起,我是很新的編程迅速
import UIKit
import Alamofire
import SwiftyJSON
import CoreLocation
import MapKit
class myTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, CLLocationManagerDelegate{
//----------------------
// Buttons and Variables
//----------------------
var lastLocation: CLLocation? = nil
@IBOutlet weak var tableView: UITableView!
@IBAction func generateInfo(sender: AnyObject) {
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
let lat: Double! = lastLocation?.coordinate.latitude
let lng: Double! = lastLocation?.coordinate.longitude
let alt: Double! = lastLocation?.altitude
print(lat)
print(lng)
print(alt)
locationManager.stopUpdatingLocation()
} // end of button
//--------------
// Main Function
//--------------
override func viewDidLoad(){
super.viewDidLoad()
print("Hello World")
self.tableView.dataSource = self
self.tableView.delegate = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//-------------------
// LOCATION FUNCTIONS
//-------------------
// Represents Location Manager
lazy var locationManager: CLLocationManager = {
let manager = CLLocationManager()
manager.delegate = self
manager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
return manager
}()
// Location Authorization Function
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus){
if case .authorizedWhenInUse = status {
manager.requestLocation()
} else {
print("yeah... that didn't work")
}
}
// Location Error handle
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
print("that didn't work")
}
// Location Object
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]){
if let location = locations.first {
lastLocation = location
}
}
//--------------------
// TABLEVIEW FUNCTIONS
//--------------------
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: "imageCellCustomCell", for: indexPath) as! ImageCellTableViewCell
return cell
}
else if indexPath.row == 1{
let cell = self.tableView.dequeueReusableCell(withIdentifier: "coordinatesAltitudeDegreesCustomCell", for: indexPath) as! CoordinatesAltitudeDegreesTableViewCell
cell.latLabel.text = "text"
return cell
}
else if indexPath.row == 2{
let cell = tableView.dequeueReusableCell(withIdentifier: "censusGeographyCustomCell", for: indexPath) as! CensusGeographyTableViewCell
return cell
}
else if indexPath.row == 3{
let cell = tableView.dequeueReusableCell(withIdentifier: "nearestAddressCustomCell", for: indexPath) as! NearestAddressTableViewCell
return cell
}
else if indexPath.row == 4{
let cell = tableView.dequeueReusableCell(withIdentifier: "populationCustomCell", for: indexPath) as! PopulationTableViewCell
return cell
}
else if indexPath.row == 5{
let cell = tableView.dequeueReusableCell(withIdentifier: "ethnicityCustomCell", for: indexPath) as! EthnicityTableViewCell
return cell
}
else if indexPath.row == 6{
let cell = tableView.dequeueReusableCell(withIdentifier: "raceCustomCell", for: indexPath) as! RaceTableViewCell
return cell
}
else if indexPath.row == 7{
let cell = tableView.dequeueReusableCell(withIdentifier: "ageCustomCell", for: indexPath) as! AgeTableViewCell
return cell
}
else if indexPath.row == 8{
let cell = tableView.dequeueReusableCell(withIdentifier: "populationPyramidCustomCell", for: indexPath) as! PopulationPyramidTableViewCell
return cell
}
else {
let cell = tableView.dequeueReusableCell(withIdentifier: "houseHoldCustomCell", for: indexPath) as! HouseHoldTableViewCell
return cell
}
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row == 0 {
return 300
}
else if indexPath.row == 1{
return 130
}
else if indexPath.row == 2{
return 100
}
else if indexPath.row == 3{
return 100
}
else if indexPath.row == 4{
return 90
}
else if indexPath.row == 5{
return 110
}
else if indexPath.row == 6{
return 200
}
else if indexPath.row == 7{
return 300
}
else if indexPath.row == 8{
return 300
}
else {
return 360
}
}
}
時間稱爲嘿,Zonily,我很抱歉,花了這麼長的時間回來評論,但系列非常感謝你。我正試圖實現這一點,但我實際上可以理解你的代碼在說什麼,所以希望這個工作和生病讓你知道是否! –
@MaclaneNugent upvoting我的答案,並將其標記爲正確的是我所需要的所有感謝。如果您需要更多幫助,請在此處留言,我會修改我的答案。 –
我在addTarget部分遇到的唯一問題。我有** generate.addTarget(self,action:#selector(self.someButtonClicked(_ :)),forControlEvents:.touchUpInside) **並且它說「類型'uiBarButtonItem'的值沒有成員'addTarget'」 –