Возврат нескольких NSString - PullRequest
0 голосов
/ 03 ноября 2010

Я хотел бы создать метод, который возвращает несколько NSString.Я думаю о таком методе, но я не нахожу его в стиле objc, скорее в стиле программиста на C - он использует указатели на (NSString *), таким образом (NSString **):

- (LONG) readOwnerInformationToNationalNumber:(NSString**) nationalNumber
                                   toName:(NSString**) name
                              toFirstName:(NSString**) firstName
                            toNationality:(NSString**) nationality
                           toPlaceOfBirth:(NSString**) placeOfBirth
                            toDateOfBirth:(NSString**) dateOfBirth
                                 toGender:(NSString**) gender
                        toStreetAndNumber:(NSString**) streetAndNumber
                                    toZip:(NSString**) zip
                           toMunicipality:(NSString**) municipality
                             toChipNumber:(NSString**) chipNumber
                  toCardValidityDateBegin:(NSString**) cardValidityDateBegin
                    toCardValidityDateEnd:(NSString**) cardValidityDateEnd
               toCardDeliveryMunicipality:(NSString**) cardDeliveryMunicipality

Inв теле метода я возвращаю строки вроде этого:

*nationalNumber = [NSString stringWithString:@"11223344"];

Фактически, это первый раз, когда я возвращаю несколько строк NSString и всегда возвращаю свою строку NSString в качестве параметра возврата.

Это так?уродливый, не надежный или выполнимый способ сделать?

С уважением, Apple 92

Ответы [ 2 ]

4 голосов
/ 03 ноября 2010

То, что ты делаешь, конечно возможно, но я не нахожу это очень изящным.Кажется, что информация, которую вам нужно вернуть, принадлежит друг другу, так почему бы вам не создать собственный класс, который включает все эти поля, и чтобы ваш метод возвратил экземпляр этого класса?

1 голос
/ 04 ноября 2010

Вероятно, "способ Какао" будет возвращать NSDictionary, если вы не хотите пользовательский класс:

- (NSDictionary*) readOwnerInformationToNationalNumber
{
    // do stuff

    NSDictionary* returnedDictionary 
        = dictionaryWithObjectsAndKeys:
              nationalNumber,           @"nationalNumber",
              name,                     @"name",
              // etc ...
              cardDeliveryMunicipality, @"cardDeliveryMunicipality",
              nil];

    return returnedDictionary;
}

Это используется в кока в ряде мест, например NSURL -resourceValuesForKeys: ошибка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...