Што такое выкарыстанне + (ID) ИМЯ_ФУНКЦИИ ў ІАА-

Я хачу выкарыстоўваць Сінглтан ў маім праекце. Дык на тое я прачытаў пра гэта і знайсці нешта накшталт гэтага:

@interface MyManager : NSObject
{
    NSString *someProperty;
}

@property (nonatomic, retain) NSString *someProperty;

+ (id)sharedManager;

Я ведаю, што мы выкарысталі гэта, каб сумесна некаторыя дадзеныя ў кодзе. Цяпер маё пытанне, што гэта значэнне + (ID) і тое, што мы назвалі яго, і якія віды выкарыстання яго

2
Чаму маё пытанне злазячы голас. Не маглі б вы паказаць прычыну?
дададзена аўтар Ajay Chaudhary, крыніца

6 адказы

  1. З дапамогай + (ідэнтыфікатар) пераконваецца, што мы не павінны Alloc ініцыялізацыі клавішы Singleton клас зноў і прыбытак, а + азначае, што ён з'яўляецца статычным метадам. </р>

  2. <�Літый> <�р> + (ідэнтыфікатар) паказвае на тое, што тып якое вяртаецца метаду + (ID) sharedManager; можа быць любым аб'ектам. </р>
  3. ўнутры метаду + (ID) sharedManager; мы павінны праверыць, што аб'ект не ініцыялізаваны, калі асобнік Singleton яго ўжо створаны, як - калі (! sharedInstance) { // Alloc иницилизации логіка для Одноточечный } . </Р>

3
дададзена
так, мы можам ....
дададзена аўтар Ishank Dubey, крыніца
Ват з'яўляецца Нод ....?
дададзена аўтар Ishank Dubey, крыніца
Ці можна змяніць тып дакумента для кагосьці накшталт уласнага імя класа?
дададзена аўтар Ajay Chaudhary, крыніца
дзякуй за каштоўны адказ :)
дададзена аўтар Ajay Chaudhary, крыніца
што выкарыстанне Нод у + (ID) sharedManager? Ці можна і як?
дададзена аўтар Ajay Chaudhary, крыніца
Grand Central Dispatch :)
дададзена аўтар Ajay Chaudhary, крыніца

id means a reference to anobjective-cobject of which the class is unknown. For your example you could also use:

+ (MyManager *)sharedManager;

Майце на ўвазе, што вы не выкарыстоўваеце * з ID .

+ means it's a class-method: a method you call on a class like [NSString stringWithFormat:@"%d", 1].

- is an instance method, a method you call on an object instance of a class, like '[myString length]'

2
дададзена

id means a reference to anobjective-cobject of which the class is unknown. For your example you could also use:

+ (MyManager *)sharedManager;

Майце на ўвазе, што вы не выкарыстоўваеце * з ID .

+ means it's a class-method: a method you call on a class like [NSString stringWithFormat:@"%d", 1].

- is an instance method, a method you call on an object instance of a class, like '[myString length]'

2
дададзена

У дадатак да адказу fzwo; Звычайна, калі метад класа подпісы пачынаецца з агульны гэта азначае, што гэты клас з'яўляецца сумесным з Singleton шаблон . Аб'ект Сінглтан мае адзін і толькі адзін асобнік сабе. Вы можаце бачыць прыклад, калі вы карыстаецеся [UIApplication sharedApplication] , гэта вяртае асобнік одноплодной прыкладання.

1
дададзена
@fzwo Так, я ведаю, што гэта прычына, чаму я паставіў слова «звычайна» :)
дададзена аўтар Mat, крыніца
Калі ласка, звярніце ўвагу, аднак, што гэта толькі найменне; вам усё роўна прыйдзецца запраграмаваць яго такім чынам, што яна робіць гэта.
дададзена аўтар fzwo, крыніца
Я ведаю, што <�я> вы </я> ведаю :)
дададзена аўтар fzwo, крыніца

<�Код> + пазначае метад класа, у адрозненне ад значна больш агульных метадаў асобнікаў, якія пачынаюцца з - . (<�Код> ID ) паказвае на тое, што гэты метад вяртае аб'ект Objective-C.

1
дададзена

<�Код> + пазначае метад класа, у адрозненне ад значна больш агульных метадаў асобнікаў, якія пачынаюцца з - . (<�Код> ID ) паказвае на тое, што гэты метад вяртае аб'ект Objective-C.

1
дададзена