Есть ли способ вызвать или передать метод по свойству. Я понимаю, как устанавливать и получать свойства, но как я могу ими манипулировать? Я пытаюсь удалить пунктуацию на строку с помощью объектно-ориентированного программирования. Действие удаления пунктуации из входной строки записывается как метод.Вызвать метод по объекту
main.m
TDItem *newItem = [[TDItem alloc] init];
[newItem setItemString:@"Get the mail next Tuesday!"];
NSLog(@"\nCreated Item: %@", [newItem itemString]);
NSString *itemStringWithoutPunctuation = [[NSString alloc] init];
[newItem itemStringWithoutPunctuation:[newItem itemString]];
[newItem setItemString:itemStringWithoutPunctuation];
NSLog(@"\nCreated Item: %@", [newItem itemString]);
TDItem.h
@interface TDItem : NSObject
@property NSString *itemString;
// Formating methods
- (NSString *)itemStringWithoutPunctuation:(NSString *)itemString;
TDItem.m
- (NSString *)itemStringWithoutPunctuation:(NSString *)itemString
{
NSString* itemStringWithoutPunctuation = [[itemString componentsSeparatedByCharactersInSet:[[NSCharacterSet letterCharacterSet] invertedSet]] componentsJoinedByString:@" "];
return itemStringWithoutPunctuation;
}
Отладочная консоль выводит пробел для нового значения itemString.
Debuger
Created Item: Get the mail next Tuesday!
Created Item:
Если это совершенно неверный, что идти об изменении значения свойства?
Почему вы указали переменную 'itemStringWithoutPunctuation' как' id' вместо 'NSString'? – rmaddy
Меньше набрав. 'id' может использоваться вместо' MyClass * 'во многих случаях. – iAdjunct
И использование 'id' может привести ко всем видам ошибок, поскольку компилятор не может выполнять проверку типов. – rmaddy