Я пытаюсь реализовать подобную/непохожую функцию в моем приложении iOS с помощью Swift 2.0, Storyboard и Parse, где пользователям могут нравиться/отличные от сообщений, созданные другими пользователями или самими собой - так же, как Instagram, Facebook и других социальных приложений.Реализация подобных и непохожих функциональных возможностей в Swift с использованием Parse
У меня есть кнопка, подключенная к раскадровке к IBOutlet под названием likeButton и IBAction, называемая likeButtonTapped.
Я уверен, что метод cellForRowAtIndexPath
также участвует в правильной реализации этой функции.
Я думаю, что у меня есть правильное представление о том, что должно произойти в комментариях моего кода ниже, однако я не знаю, как проверить, понравится ли какая-либо должность или нет. Как проверить, понравилось ли сообщение или нет, чтобы я мог переключаться с изображением likeButton, увеличивать/уменьшать значение likeCount и добавлять/удалять связь между текущим пользователем и сообщением, которое нравится пользователю.
Кроме того, принимаю ли я подход «правого» (обычного) для стандартной, как/в отличие от функции? Я хотел бы услышать ваши отзывы. Спасибо за ваше время и помощь!
class TimelineFeedViewController: PFQueryTableViewController {
var userLike = PFUser.currentUser()?.relationForKey("likes")
@IBAction func likeButtonTapped(sender: UIButton) {
// The following code has errors - for example, `object` is an unresolved identifier (it's supposed to be a PFObject that holds a post at a specific indexPath)
// Also, I cant access the likeButton for some reason. Only when I do cell.likeButton in `cellForRowAtIndexPath`.
// If the button is liked already (it's filled)
// Toggle likeButton image to UNfilled version
// "if likeButton isLiked == true" below is pseudocode of what I am trying to do
if likeButton isLiked == true {
let image = UIImage(named: "likeButtonUnfilled")
cell.likeButton.setImage (image, forState: UIControlState)
// Decrement the likeCount
object!.decrementKey("count")
// Remove the relation bet user and post
self.userLike?.removeObject(object!)
} else {
// the button is NOT liked already (it's not filled)
// toggle the image to the filled version
let image = UIImage(named: "likeButton")
cell.likeButton.setImage (image, forState: UIControlState)
// Increment the likeCount
object!.incrementKey("count")
// Add the relation bet. user and post
self.userLike?.addObject(object!)
}
object!.saveIngBackground()
PFUser.currentUser()?.saveInBackground()
self.tableView.reloadData()
}
}
У вас есть кнопка в UITableViewCell ?? –
@SaqibOmer Я реализовал IBOutlets, как, например, Button и т. Д. В отдельном файле класса swift, который подклассы UITableViewCell – dnadri
. Приращение и декремент обычно лучше выполняются в облачном коде. Хранение подобных отношений будет работать нормально. – Wain