Я борюсь с синтаксисом блоков. Мне нужен блок, который не принимает никаких параметров и возвращает строку, и мне нужно сохранить этот блок в свойстве. До сих пор, это то, что у меня есть ...Как создать и сохранить в свойстве блок, который возвращает строку?
Заявляю это свойство:
@property (nonatomic, copy) NSString * (^myBlockThatReturnsAString)();
поручаю блок, как это:
someObject.myBlockThatReturnsAString = ^NSString *() {
return @"foo";
};
Это все компилируется нормально.
Я пытаюсь использовать его как это:
myString = someObject.myBlockThatReturnsAString;
, но я получаю
-[__NSMallocBlock__ isEqualToString:]: unrecognized selector sent to instance 0xc16b3b0
Где я буду неправильно?
Я предпочитаю понимать это: http://nilsou.com/blog/2013/08/21/objective-c-blocks-syntax/ –
@Abizern Это удобно, но, похоже, это всего лишь объявление блоков. Согласно этой странице я правильно заявлял свойство, но я все еще не понимаю, где я поступил неправильно. –