יום רביעי, 15 דצמבר, 2010

מפעל דפוס Objective-C

תבניות עיצוב הן להטיל גם תוכנית של מתכנת ההפעלה, במהלך הכנת קוד היישום, כמו גם כדי להקל עליו. בפוסט זה אציג גרסה מפושטת שלי יישום תקן של מפעל - מפעל למשל, Objective-C.

Factory.h

 # ייבוא 

 @ מפעל ממשק: NSObject {
	 NSMutableDictionary * משתנה;
 }

 + (Id) init;
 + (Void) setVar: (id) Vari forKey: המפתח;
 + (Id) Getvar: (id) מפתח;
 + (Void) removeVar: (id) מפתח;

 @ סוף

Factory.m

 # ייבוא ​​"Factory.h"

 @ יישום מפעל

 סטטי NSMutableDictionary * משתנה = אפסי;

 + (Id) {init
	 אם (משתנה)
         משתנה = [[alloc NSMutableDictionary] init];
	 להחזיר את עצמי;
 }

 + (Void) setVar: (id) Vari forKey: (id) הקוד {
	 אם ([objectForKey משתנה: (id) מפתח]! = אפס)
		 [RemoveVar עצמי: (id) מפתח];

	 [SetObject משתנה: (id) Vari forKey: (id) מפתח];
 }

 + (Id) Getvar: (id) הקוד {
	 בתמורה [objectForKey משתנה: (id) מפתח];
 }

 + (Void) removeVar: (id) הקוד {
	 אם ([objectForKey משתנה: (id) מפתח]! = אפס) {
		 [RemoveObjectForKey משתנה: (id) מפתח];
	 }
 }

 @ סוף

התקנה

  1. בקובץ nazwa_aplikacji_prefix.pch הכלול בתחילת כל קובץ קוד היישום, להוסיף # לייבא "Factory.h".
  2. בשיטה (BOOL) בקשה: (*) UIApplication didFinishLaunchingWithOptions יישומים: (*) NSDictionary launchOptions, להוסיף בתחילת [מפעל init].

כיצד להשתמש

  • הוספת אובייקטים למפעל בשיטה של [setVar המפעל: (id) NaszObiekt forKey: @ "naszKlucz"];
  • לאחזר את האובייקט מהמפעל בשיטה של [מפעל Getvar: @ "naszKlucz"];
  • אנו להסיר את האובייקט מהרישום באמצעות השיטה של [מפעל removeVar: @ "naszKlucz"];

צילום: Flickr


בנושא ערכים

קטגוריות: אייפון / ניידים / מדריכים
אפשר לעקוב אחר התגובות לפוסט הזה באמצעות פיד RSS 2.0 . אתה יכול גם לכתוב הערות שלך , או לקשר להודעה זו בדף שלך.

3 הערות / s

16 דצמבר 2010

משהו מוזר, כי אתה יצא ... כי מפעל הרעיון תקן במפעל הכללית היא כי בכיתה (או שיטה קמצוץ) כדי ליצור מופעים שונים של המעמד המבוסס על כמה האלגוריתם הפנימי ואפשרויות הניתנים אולי. באופן ספציפי יותר מייצר מופעים של subclasses שונים של מעמד בסיס משותף או סוגים שונים המיישמים ממשק משותף.

אתה נמצא כאן אינו יוצר כל מקרה כלל, רק לזרוק דברים לתוך חשיש, כך שזה די הרישום העולמי ולא במפעל. אני לא אומר שזה לא יהיה שימושי, אבל מפעל זה לא קשור ... :)

הערות טכניות, גם בלי קשר למושג:
- אין צורך לבדוק אם המפתח קיים לפני מחיקתה כמו זה לא יקרה כלום
- אין צורך להסיר את המפתח לפני היציאה החדש, כפי שיש להחליף אותה
- אתה יכול לעשות במקום אתחול init, אז זה יהיה המעמד וקורא בנאי באופן אוטומטי


18 דצמבר 2010
דוד Pośliński

תודה על ההערות שלך.

למען האמת, זה באמת לא ספר להתקרב לנושא, אבל זה בכיתה שלי, וזה כדי להקל על התקשורת של עצמים על פני תצוגות מרובות בו זמנית. רציתי לעזוב בעיקר ליצירת אובייקטים בכיתה זו, אשר, כפי בצדק stwierdziłeś למעשה שבר את העיקרון הבסיסי של המודל הזה.

לגבי הערות טכניות, בוודאי לא כואב אופטימיזציה.

זה נחמד שאתה יכול לסמוך על משוב מן הפולנים Objective-C זירת מתכנתים, אשר, למרבה הצער, מעטים יחסית לכתוב באינטרנט הפולני.


18 דצמבר 2010

אני כותב קצת, אבל באנגלית ;) אבל העובדה היא כי האינטרנט הפולני הוא מעט מאוד על ObjC, בשל העובדה כי ObjC מתכנתים הם בדרך כלל נמוך מאוד בהשוואה אפילו עם רובי או פייתון ...


  • Obraz CAPTCHY
    רענן תמונה
    *

    הגנה מפני דואר זבל על ידי WP-SpamFree