私のプロジェクトで助けてくれませんか? 私はTableViewを持ち、すべてのセルにImageViewとTextViewを持っています。これらのデータはBackendless DataBaseと2つのButtonsで共有されています。Swift 3、Xcode 8を使用して、私のテーブルビューのセルで共有ボタンやボタンを操作する方法
IanはBackendless DataBaseを使用しています。これは私のプロジェクトでIamが使用しているコードです。
import UIKit
import Social
import SDWebImage
class NewsTable: UITableViewController {
@IBOutlet var newstable: UITableView!
var mydata = [TestTable]()
let backendless = Backendless()
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
newstable.dataSource=self
newstable.delegate=self
}
override func viewDidAppear(_ animated: Bool) {
loaddatawithquery()
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return mydata.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCell(withIdentifier: "newscell") as? NewsCell{
let ImgURL = URL(string : self.mydata[(indexPath as NSIndexPath).row].ImgURL!)
let Desc = self.mydata[(indexPath as NSIndexPath).row].Desc!
cell.textnews.text = Desc
cell.imgnews.sd_setImage(with: ImgURL)
return cell
}
else{
let cell = NewsCell()
let ImgURL = URL(string : self.mydata [(indexPath as NSIndexPath).row].ImgURL)
let Desc = self.mydata[(indexPath as NSIndexPath).row].Desc
cell.imgnews.sd_setImage(with: ImgURL)
cell.textnews.text = Desc!
cell.share.tag = indexPath.row
cell.share.addTarget(self, action: #selector(NewsTable.shareBu(_:)), for: .touchUpInside)
return cell
}
}
func loaddatawithquery()
{
_ = "ImgURL"
_ = "Desc"
let dataQuery = BackendlessDataQuery()
dataQuery.queryOptions.pageSize=50
backendless.data.of(TestTable.ofClass()).find(dataQuery,response: {(result: BackendlessCollection?) -> Void in
let data = result?.getCurrentPage()
for obj in data! as! [TestTable] {
self.mydata.append(obj)
self.tableView.reloadData()
}
},
error: { (fault: Fault?) -> Void in
let alert = UIAlertController(title: "انتباه", message:"يرجى الاتصال بالانترنيت", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default) { _ in
let viewController = self.storyboard?.instantiateViewController(withIdentifier: "main") as! ViewController
self.navigationController?.pushViewController(viewController, animated: true)
})
self.present(alert, animated: true){}
})
}
@IBAction func shareBu(_ sender: AnyObject) {
let myactivity = self.mydata[sender.tag]
let firstActivity = "\(myactivity)"
let activity : UIActivityViewController = UIActivityViewController(activityItems: [firstActivity], applicationActivities: nil)
self.present(activity, animated: true, completion: nil)
}
}
あなたは 'IBAction'するボタンの機能を設定しているのはなぜ? – Rikh
Iamはそれを動作させようとしています。ボタンを機能させるためのソリューションはありますか? –
'@ IBAction'を削除してみてください。メソッドの中にブレークポイントを入れて、それがうまくいくはずです(それが以前でなかった場合) – Rikh