我正在使用KVC来迭代几个视图.设置BOOL属性时遇到问题:
[self setValue:YES forKeyPath:[NSString stringWithFormat:@"myView%d.userInteractionEnabled", n]];
Run Code Online (Sandbox Code Playgroud)
我得到:警告:传递'setValue:forKeyPath:'的参数1使得整数指针没有强制转换.
我找不到[NSValue valueWithBool:YES]或类似的东西.
该怎么办?
我正在从我的TableViewController的didSelectRowAtIndexPath方法中将视图控制器推送到导航控制器的堆栈中,如下所示:
MyViewController *myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
MyObject *myO = (MyObject *)[appDelegate.myOs objectAtIndex:indexPath.row];
myViewController.amount = myO.amount;
[self.navigationController pushViewController:myViewController animated:YES];
[myViewController release];
Run Code Online (Sandbox Code Playgroud)
如果我取消注释最后一行,那么应用程序在返回时崩溃并出现错误:
-[CALayer release]: message sent to deallocated instance 0xd4f860
Run Code Online (Sandbox Code Playgroud)
进一步挖掘我发现崩溃可以进一步缩小到MyViewController的dealoc方法中对[super dealoc]的调用.通过取消注释"[super dealoc]",我们不会崩溃.
我无法进一步缩小范围."super"将是UIViewController类,我无法进一步研究这种处理方法......我可以吗?也许有办法看看0xd4f860到底指的是什么,但我不知道怎么回事?有任何想法吗?
iphone cocoa-touch uitableview uiviewcontroller uinavigationcontroller
当您检查Leaks仪器中收集泄漏的内存内容时,这有什么作用?我有一个麻烦的泄漏,并认为这个"记忆内容"可能有助于追踪它...但我找不到它!?!
哪种NSString编码方法将百分比(&)字符正确地转义为%26?
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding
Run Code Online (Sandbox Code Playgroud)
获取空格(%20)和其他坏人但忽略了&符号!?!
有人知道/usr/local在全新的Mac上,"处女" 文件夹会是什么样子吗?我应该知道,因为我只有一个,但我使用Apple的迁移助手(它没有给你任何关于它将要做什么的细节)来迁移我的邮件,应用程序和东西.好吧,显然留下了那个好奇的"其他文件和文件夹"设置,这意味着我所有编译过的工具和配置文件都会遇到(RMagick,Git,Mongoid,RVM等).
问题是我期待借此机会(新机器)切换到HomeBrew作为包管理器而不是config/make/install每次我想要更新某些东西时自己跳舞.此外,旧机器的版本是针对不同的硬件编译的,甚至不能在这台机器上运行.
那么,我可以直接转储或移动所有东西/usr/local并开始使用自制软件吗?有什么建议?注意事项?我想我也有一些东西/opt/......
发现类似的问题,但令人惊讶的是没有,我发现,给出一个简单的答案......
试图在我的控制器规范中存根一个辅助方法; 不太确定哪个对象需要加倍?
Controller调用此方法:
#app/helpers/sessions_helper.rb
def signed_in?
current_user.present?
end
Run Code Online (Sandbox Code Playgroud)
我想在规范中将其存根以返回true/false.
刚刚rubygems-bundler从1.2.2 更新到1.3.0
确切地说,这不是问题,但现在我遇到了这些错误:
$ bundle update
env: ruby_executable_hooks: No such file or directory
$ bundle install
env: ruby_executable_hooks: No such file or directory
Run Code Online (Sandbox Code Playgroud) 我运行捆绑更新来更新我的宝石.现在,当我尝试启动本地开发服务器时,我得到了这个.谁知道如何解决?
hostname:myapp username$ rails s
/Users/username/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:238:in `activate': can't activate i18n (~> 0.4.1, runtime) for ["mail-2.2.10", "actionmailer-3.0.3", "rails-3.0.3"], already activated i18n-0.5.0 for ["activemodel-3.0.3", "actionpack-3.0.3", "rails-3.0.3"] (Gem::LoadError)
from /Users/username/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:254:in `block in activate'
from /Users/username/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:253:in `each'
from /Users/username/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:253:in `activate'
from /Users/username/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:254:in `block in activate'
from /Users/username/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:253:in `each'
from /Users/username/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:253:in `activate'
from /Users/username/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:254:in `block in activate'
from /Users/username/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:253:in `each'
from /Users/username/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:253:in `activate'
from /Users/username/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:1065:in `gem'
from /Users/username/.rvm/gems/ruby-1.9.2-p0@rails3/bin/rails:18:in `<main>'
Run Code Online (Sandbox Code Playgroud) 成功登录后尝试将用户重定向到他们关联的"主页"页面w/out nil'ing out stored_location_for(resource_or_scope)...这给了我一些无限的重定向循环(非常确定我设置错了).
无论如何,我正在寻找更好的方法......
Devise的文档说明:在签署用户,确认帐户或更新密码后,Devise将查找重定向的作用域根路径.示例:对于
:user资源,user_root_path如果存在则使用 它,否则root_path将使用默认值.这意味着您需要在路径中设置根:root :to => "home"
我是一个新手...如何home_root_path为每个用户生成这个?
- (对象)after_sign_in_path_for(resource_or_scope)
登录后使用的默认URL.所有Devise控制器都使用它.您可以在ApplicationController中覆盖它以为自定义资源提供自定义挂钩.默认情况下,它首先尝试查找resource_root_path,否则使用根路径.对于用户范围,您可以通过以下方式定义默认URL:
Run Code Online (Sandbox Code Playgroud)map.user_root '/users', :controller => 'users' # creates user_root_path map.namespace :user do |user| user.root :controller => 'users' # creates user_root_path end
但这些只是给了我undefined local variable or method'#ActionDispatch :: Routing :: Mapper:...`错误的地图.
我有点绝望; 一直试图调试这个问题好几天了.任何人都知道如何排除故障?也许识别正在创建编码问题的文件?
FWIW:这适用于开发环境: RAILS_ENV=production bundle exec rake assets:precompile --trace
但这在"生产"服务器上失败了......不知道如何开始排除故障:
$ RAILS_ENV=production RAILS_GROUPS=assets bundle exec rake assets:precompile --trace
** Invoke assets:precompile (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Execute assets:precompile
I, [2013-09-26T10:54:13.904512 #8431] INFO -- : Writing /rails/myapp/releases/20130926175008/public/assets/sort_asc-9348a2efdfbcfa28135e10d4f7b42d0d.png
I, [2013-09-26T10:54:13.945109 #8431] INFO -- : Writing /rails/myapp/releases/20130926175008/public/assets/sort_asc_disabled-30ae6b96c67982047ca4cfa0b8ce81b2.png
I, [2013-09-26T10:54:14.007435 #8431] INFO -- : Writing /rails/myapp/releases/20130926175008/public/assets/sort_both-8018c940cc83bb4cf2bf0e68e41fdcc0.png
I, [2013-09-26T10:54:14.011733 #8431] INFO -- : Writing /rails/myapp/releases/20130926175008/public/assets/sort_desc-05521e27371d9dd4e6febce9314bc7ed.png
I, [2013-09-26T10:54:14.017370 #8431] INFO -- : Writing /rails/myapp/releases/20130926175008/public/assets/sort_desc_disabled-a3215e17d6bf077db02468b895fee228.png
rake …Run Code Online (Sandbox Code Playgroud) cocoa-touch ×3
bundler ×2
cocoa ×2
encoding ×2
rubygems ×2
debugging ×1
devise ×1
gem ×1
homebrew ×1
instruments ×1
iphone ×1
local ×1
macos ×1
memory-leaks ×1
nsstring ×1
objective-c ×1
osx-lion ×1
rake ×1
rspec ×1
rspec-rails ×1
rvm ×1
uitableview ×1
xcode ×1