أفهم أنه من الممارسات الجيدة تمرير self
لجميع استدعاءات طريقة المفوض ، مثل UIKit مع UITableView على سبيل المثال.
ما هي توصيتك لتسميتها؟
أمثلة:
func didSelectName(forNamePicker: NamePickerViewController, name: String)
أو ربما
func didSelectNameForNamePicker(namePicker: NamePickerViewController, name: String)
أو ربما ببساطة
func didSelectName(namePicker: NamePickerViewController, name: String)
هذا منطقي أكثر بالنسبة لي
func didSelectName(name: String, forNamePicker namePicker: NamePickerViewController)
أعتقد أيضًا أنه يعتمد على ما تفعله هذه الطريقة وفي أي سياق تحدده.
حسنًا ، هذه هي طريقة المفوض النموذجية الخاصة بك ، وهي تنتمي إلى NamePickerViewControllerDelegate ، وهي تُعلم المفوض بأن المستخدم قد اختار اسمًا.
تعجبني نسختك ، سأبدأ في استخدامها.
أعتقد أن هذا سيكون إضافة رائعة إلى دليل الأسلوب (لم أره في الإصدار الحالي ولكني لاحظت وجود علاقات عامة معلقة كبيرة).
هذا هو رأيي:
(1) يخالف هذا الدليل إرشادات Apple بشكل متكرر. للحصول على أمثلة ، راجع القسمين Naming
و Protocol Naming
، وكلاهما يشير إلى Following Apple's API Design Guidelines
.
(2) كثيراً ما تضع Apple اسم الكائن المفوض (على سبيل المثال self
) الكائن _first_. UITableViewDataSource
و UITableViewDelegate
show _many_ أمثلة على هذا:
optional public func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
optional public func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
(3) وبالتالي ، إذا حددنا أي شيء (أنا على الحياد بشأن ما إذا كان ينبغي لنا أم لا) ، أعتقد أننا يجب أن نتبع الأمثلة المذكورة. وبالتالي ، سأذهب مع هذا التوقيع:
func namePickerView(namePickerView: NamePickerView, didSelectName name: String)
حق. أعتقد أن هذا سيبدو هكذا بالنسبة لـ Swift 3 ، حيث لن يتم التعامل مع المعلمة الأولى بشكل خاص كما هو الحال في Swift 2.2.
func namePickerView(_ namePickerView: NamePickerView, didSelectName name: String)
القيام بنفس الشيء الذي يعتبره مصدر عرض الجدول هو استراتيجية تسمية جيدة.
مفهوم. شكرا على التوضيح. @ JRG-Developer بقدر ما يمكنني إخبار إرشادات تصميم Swift API التي يشيرون إليها لا تتحدث صراحة عن تسمية طريقة التفويض. أعتقد أنهم يقولون أساسًا "اتبعوا شركة Apple" ، وهو ما أعتقد أنه ليس نهجًا سيئًا. الاتساق له فوائده.
شكرا لكم جميعا على مساهمتكم. أعتقد أننا يمكن أن نغلق هذه المسألة "على غرار أبل".
أعتقد أن دليل تسمية المندوب يجب أن يخرج من هذا حتى لو كان على غرار "اتبع خطى Apple".
https://github.com/raywenderlich/swift-style-guide/pull/181 يعالج هذه المشكلة
نشكرك على مساعدتك في هذا fabienwarniez ... إذا كنت تريد إضافة نفسك إلى قائمة المساهمين ، فلا تتردد في إرسال العلاقات العامة.
التعليق الأكثر فائدة
هذا هو رأيي:
(1) يخالف هذا الدليل إرشادات Apple بشكل متكرر. للحصول على أمثلة ، راجع القسمين
Naming
وProtocol Naming
، وكلاهما يشير إلىFollowing Apple's API Design Guidelines
.(2) كثيراً ما تضع Apple اسم الكائن المفوض (على سبيل المثال
self
) الكائن _first_.UITableViewDataSource
وUITableViewDelegate
show _many_ أمثلة على هذا:(3) وبالتالي ، إذا حددنا أي شيء (أنا على الحياد بشأن ما إذا كان ينبغي لنا أم لا) ، أعتقد أننا يجب أن نتبع الأمثلة المذكورة. وبالتالي ، سأذهب مع هذا التوقيع: