আমি প্রত্যেককে ট্যাগ ব্যবহারের প্রশংসা করি, তবে সত্যিই আপনাকে ইউআইবাটন ক্লাসটি প্রসারিত করতে হবে এবং কেবলমাত্র সেখানে অবজেক্ট যুক্ত করতে হবে ..
ট্যাগগুলি এই আশেপাশে একটি নিরাশ উপায়। এটির মতো ইউআইবাটনটি প্রসারিত করুন (সুইফ্ট 4 এ)
import UIKit
class PassableUIButton: UIButton{
var params: Dictionary<String, Any>
override init(frame: CGRect) {
self.params = [:]
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
self.params = [:]
super.init(coder: aDecoder)
}
}
তারপরে আপনার কলটি কল হতে পারে (কল্ট নোট করুন ":" ইন Selector(("webButtonTouched:"))
)
let webButton = PassableUIButton(frame: CGRect(x:310, y:40, width:40, height:40))
webButton.setTitle("Visit",for: .normal)
webButton.addTarget(self, action: #selector(YourViewController.webButtonTouched(_:)), for:.touchUpInside)
webButton.params["myvalue"] = "bob"
তাহলে সবশেষে এখানে ধর
@IBAction func webButtonTouched(_ sender: PassableUIButton) {
print(sender.params["myvalue"] ?? "")
}
আপনি এটি একবার ব্যবহার করেন এবং আপনার পুরো প্রকল্প জুড়ে এটি ব্যবহার করুন (এমনকি আপনি শিশু শ্রেণিকে জেনেরিক "অবজেক্ট" তৈরি করতে পারেন এবং যা যা পছন্দ করুন বোতামে রেখে দিতে পারেন!)। বা বাটনটিতে একটি অক্ষয় সংখ্যক কী / স্ট্রিং প্যারাম রাখার জন্য উপরের উদাহরণটি ব্যবহার করুন .. ইউআরএল, বার্তা নিশ্চিতকরণের পদ্ধতি ইত্যাদি নিশ্চিত করার মতো জিনিসগুলির জন্য সত্যই কার্যকর
একদিকে যেমন, এটি গুরুত্বপূর্ণ যে SO
সম্প্রদায়টি বুঝতে পারে যে এটি একটি সম্পূর্ণ প্রজন্মের ইন্টারনেটের চারপাশে কাটানো খারাপ অনুশীলন রয়েছে যা এমন প্রোগ্রামারদের দ্বারা বোঝা যায় না যারা বুঝতে পারে না / শেখানো হয়নি / বিন্দুটি মিস করে নি ধারণাobject extensions