作者issuemylove (skill)
看板MacDev
标题[问题] view controller间传递block并执行
时间Tue Jan 7 15:23:17 2014
我有两个 view controller
a,
b (
b 里面有个变数 block型态变数: block)
a 会执行
ViewControllerB *
b = [[ViewControllerB alloc] ...略];
b.block = ^{
[
self doSomething]; //这里的self =
a
};
[self presentViewController:
b ...略];
-------------------------------------------------------------
b 的 viewDidAppear: 里面会执行
self.block(); //即执行a给的block,结果
此行出错了...orz
请问要怎样解决这样的问题? QQ
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.21.125.247
1F:→ issuemylove:ps. 没有error message...直接出现(lldb) 荡住 01/07 15:25
2F:→ darktt:你的block的property参数是啥? 01/07 16:40
@property (nonatomic, assign) void (^block)();
有关系吗 冏?
※ 编辑: issuemylove 来自: 211.21.125.247 (01/07 16:44)
3F:→ darktt:有关系block也是会被release的,你要将它改为copy就可以了 01/08 08:46
4F:→ darktt:另外是我的建议,viewController不要用block,只用delegate 01/08 08:49
5F:→ darktt:就好了 01/08 08:49
...阿 对後...orz,是说当初我设定属性时, retain 不给我加
才使用assign @@|||, 这也好像是我第一次对有property变数的object使用 assign
浑然忘记 assign 的效果
谢谢你!
※ 编辑: issuemylove 来自: 211.21.125.247 (01/08 10:32)