我有一个由此创建的NSNumber对象数组:
myArray = [[NSMutableArray alloc] initWithObjects:[NSNumber numberWithDouble:0.0],
[NSNumber numberWithDouble:0.0],
[NSNumber numberWithDouble:0.0],
[NSNumber numberWithDouble:0.0],
[NSNumber numberWithDouble:0.0], nil];
Run Code Online (Sandbox Code Playgroud)
(虽然刚发生在我身上,我本可以做到的
myArray = [NSMutableArray arrayWithObjects: object1, etc..., nil];
Run Code Online (Sandbox Code Playgroud)
并完全跳过了alloc.哪个更好?)
无论如何,这与我的问题相关:
在应用程序的整个生命周期中,值都会发生变化.在某一点上,我想将它们全部重置为零.我现在就是这样做的:
for (NSNumber *number in myArray) {
number = [NSNumber numberWithDouble:0.0];
}
Run Code Online (Sandbox Code Playgroud)
但静态分析器会发出警告,因为它认为"数字"是一个未使用的变量(技术上是 - 设置然后再也不用).有没有更好的方法将阵列的所有元素归零?也许用新的阵列替换阵列?什么是最快的,避免静态分析警告?
我正在尝试编译包含头文件到.c文件的ac程序.但只有一个.c文件真正使用头文件中定义的变量.这是一些将生成链接器问题的示例代码.我试图让我的头文件包含由2个不同的.c文件使用的全局变量...任何类型的帮助将不胜感激.谢谢.
tmp1.h文件
#ifndef TMP1_H_1
#define TMP1_H_1
double xxx[3] = {1.0,2.0,3.0};
#endif
Run Code Online (Sandbox Code Playgroud)
tmp1.c文件
#include "tmp1.h"
void testing()
{
int x = 0;
x++;
xxx[1] = 8.0;
}
Run Code Online (Sandbox Code Playgroud)
main1.c文件
#include <stdio.h>
#include "tmp1.h"
int main()
{
printf("hello world\n");
}
Run Code Online (Sandbox Code Playgroud) 我有一个类别模型,我使用默认的脚手架来路由它resources :categories.我不知道是否有从改变路径的方式/category/:id来/category/:name.我补充说:
match "/categories/:name" => "categories#show"
Run Code Online (Sandbox Code Playgroud)
在资源行上面routes.rb并改变show了控制器中的动作:
@category = Category.find_by_name(params[:name])
Run Code Online (Sandbox Code Playgroud)
它的工作原理,但"魔术路径" link_to some_category仍然使用:id格式.
有没有办法做到这一点?如果这是一个坏主意(由于rails内部工作的一些可能方式),还有另一种方法可以实现吗?那么/categories/music,例如,/categories/3两者都有效吗?
我收到以下错误:Gemfile语法错误.
这是我的代码:
source 'https://rubygems.org'
gem 'rails', '3.2.1'
gem 'devise'
# Bundle bootstrap gems
group :development do
gem 'thin'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer'
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
# To use ActiveModel has_secure_password
# …Run Code Online (Sandbox Code Playgroud) 我有一个带有属性的骨干模型和一些辅助方法,它们输出的不是实际属性(例如用于格式化).
但是,当我调用时toJSON,只返回属性,因此我的胡子模板无法访问这些辅助方法.有什么方法可以解决这个问题吗?或者我应该采取不同的方法?
是唯一的方法来创建属性的格式化版本,并在每次属性更改时更新它?
好吧,我想我可能会过度复杂化这个问题,但我确实陷入困境.基本上,我试图模拟一个重量组,特别是一个奥运重量组.所以,我有其为45磅的条,然后我分别具有2个权重的2.5磅,4 5的磅,然后10 2,25,35,和45.这使得总共300磅.
bar = 45 lbs
2 of 2.5
4 of 5
2 of 10
2 of 25
2 of 35
2 of 45
Run Code Online (Sandbox Code Playgroud)
我想对这个重量集进行建模,以便我掌握这些信息:重量和重量.我知道我可以对此进行硬编码,但最终我想让用户输入他们可能拥有的每个重量的数量.
无论如何,最初我以为我可以简单地NSDictionary使用关键是重量,例如35,而值是数量.
当然我不能将原语存储在一个NSDictionary或其他Cocoa集合中,所以我必须将每个整数封装在一个NSNumber.然而,我对这个权重集建模的重点是我可以模拟某些权重的使用.例如,如果我使用35磅.重量需要2关(每侧一个),所以我必须去编辑35磅的值.重量来反映我从数量中扣除2的事实.
这涉及繁琐的任务,即拆箱NSNumber,转换回原语,进行数学运算,然后重新装箱NSNumber并将新结果分配给中的适当位置NSDictionary.经过一番搜索,我确认了我最初的预感,这不是一个好主意.
所以我有几个问题.首先,除了使用字典式解决方案之外,还有更好的方法来设置权重集吗?如果没有,建议的方法是什么?我是否必须离开可可领域并使用某种C++ STL模板,例如map?
我已经看到了一些信息NSDecimalNumber,我应该使用它吗?
就像我说的那样,如果我过于复杂,我也不会感到惊讶.我真的很感激任何帮助,谢谢.
编辑:我开始认为所描述的权重集'定义'确实应该是不可变的,因为它毕竟是一个定义.然后当我使用一定的重量时,我可以添加某种计数器.问题是,计数器也将是某种形式的集合,其值将被修改(添加到),以便我可以将其与特定权重相关联.所以我想我遇到了同样的问题.
我想我想要的是创建一个'克隆',可以说我可以轻松修改的权重集定义(模拟单个权重的使用).
对不起,我已经烧坏了.