func showSimpleAlert() {
let alert = UIAlertController(title: "Sign out?", message: "You can always access your content by signing back in", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.default, handler: { _ in
//Cancel Action
}))
alert.addAction(UIAlertAction(title: "Sign out",
style: UIAlertActionStyle.default,
handler: {(_: UIAlertAction!) in
//Sign out action
}))
self.present(alert, animated: true, completion: nil)
}
func showSimpleActionSheet(controller: UIViewController) {
let alert = UIAlertController(title: "Title", message: "Please Select an Option", preferredStyle: .actionSheet)
alert.addAction(UIAlertAction(title: "Approve", style: .default, handler: { (_) in
print("User click Approve button")
}))
alert.addAction(UIAlertAction(title: "Edit", style: .default, handler: { (_) in
print("User click Edit button")
}))
alert.addAction(UIAlertAction(title: "Delete", style: .destructive, handler: { (_) in
print("User click Delete button")
}))
alert.addAction(UIAlertAction(title: "Dismiss", style: .cancel, handler: { (_) in
print("User click Dismiss button")
}))
self.present(alert, animated: true, completion: {
print("completion block")
})
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if (destinationData?[indexPath.row]) != nil {
if(indexPath.row + 1 >= (destinationData?.count)!) {
expandCell(tableView: tableView, index: indexPath.row)
}
else {
if(destinationData?[indexPath.row+1] != nil) {
expandCell(tableView: tableView, index: indexPath.row)
// Close Cell (remove ExpansionCells)
} else {
contractCell(tableView: tableView, index: indexPath.row)
}
}
}
}
/* Expand cell at given index */
private func expandCell(tableView: UITableView, index: Int) {
if let infoMain = destinationData?[index]?.infoMain {
var indexesToInsert = [IndexPath]()
for i in 1...infoMain.count {
destinationData?.insert(nil, at: index + 1)
indexesToInsert.append(IndexPath(row: index + i, section: 0))
}
tableView.insertRows(at: indexesToInsert , with: .left)
tableView.scrollToRow(at: IndexPath(row: index + 1, section: 0), at: .bottom, animated: true)
}
}
/* Contract cell at given index */
private func contractCell(tableView: UITableView, index: Int) {
if let infoMain = destinationData?[index]?.infoMain {
var indexesToDelete = [IndexPath]()
for i in 1...infoMain.count {
destinationData?.remove(at: index + 1)
indexesToDelete.append(IndexPath(row: index + i, section: 0))
}
tableView.deleteRows(at: indexesToDelete, with: .left)
}
}
if (result.token) {
// Пользователь успешно авторизован
} else if (result.error) {
// Пользователь отменил авторизацию или произошла ошибка
}
func parse(callback: @escaping (_ text: String, _ images: [String]) -> Void) {
let baseURL = "https://api.vk.com/method/wall.getById?posts=-34451036_490279)&access_token=5502c502caef0d55e1758dd&v=5.64"
let url = NSURL(string: baseURL)
let request = NSURLRequest(url: url! as URL)
let session = URLSession(configuration: .default)
let task = session.dataTask(with: request as URLRequest) { (data, response, error) -> Void in
if error == nil {
let swiftyJSON = JSON(data: data!)
let response = swiftyJSON["response"].arrayValue
var links = [String]()
for tobject in response {
let text = tobject["text"].stringValue
let attachments = tobject["attachments"].arrayValue
for photo in attachments {
let searchPhoto = photo["photo"].dictionary
if let val = searchPhoto?["photo_130"]?.stringValue {
links.append(val)
}
}
callback(text, links)
}
}
}
task.resume()
}
parse(callback: { (text, links) in
recipe.descriptionRecipe = text
(UIApplication.shared.delegate as! AppDelegate).saveContext()
self.goToHome()
})