এই সাধারণ ক্লাসের সাথে আমি সংকলক সতর্কতা পাচ্ছি
x
নিজস্ব সেটার / গেটারের মধ্যে পরিবর্তন / অ্যাক্সেসের চেষ্টা করা হচ্ছে
এবং যখন আমি এটির মতো এটি ব্যবহার করি:
var p: point = Point()
p.x = 12
আমি একটি EXC_BAD_ACCESS পাই। সুস্পষ্ট ব্যাকিং আইভারগুলি ছাড়াই আমি কীভাবে এটি করতে পারি?
class Point {
var x: Int {
set {
x = newValue * 2 //Error
}
get {
return x / 2 //Error
}
}
// ...
}
set
আপনি ব্যবহার করতে চান didSet
। আপনি যখন প্রয়োগ করবেন তখন সম্পত্তিগুলি অবজেক্টিভ-সি বা অন্যান্য ভাষার চেয়ে সুইফটে আলাদা আচরণ করে set
। দেখুন @jack থেকে নিচে উত্তর এবং একটি উদাহরণ didSet
@cSquirrel থেকে