在一个看似永无止境的关于iphone开发的更多努力中,我一直在玩苹果开发者网站提供的一些源代码.我正在使用的特定示例是Core Data Books,可在此处找到.DetailViewController和AddViewController是以编程方式创建的,因为它们没有任何xib文件.我的问题是在不使用IB的情况下以编程方式将视图添加到视图中.我想在UITableView下面放置一个UISwitch,它包含DetailView中特定书籍的详细信息.我该怎么做呢?这是我到目前为止所尝试的:
在AddViewController中,我设置了UISwitch:
@interface AddViewController : DetailViewController {
id <AddViewControllerDelegate> delegate;
UISwitch *onoff;
}
@property (nonatomic, assign) id <AddViewControllerDelegate> delegate;
@property (nonatomic, retain) IBOutlet UISwitch *onoff;
Run Code Online (Sandbox Code Playgroud)
我还设置了一个IBAction:
- (IBAction)flip:(id)sender;
Run Code Online (Sandbox Code Playgroud)
然后我在AddViewController.m文件中合成它,但没有任何反应.我只需要设置开关并使其成为可以控制它从我设置的IBAction中做的事情.我知道这很简单,但我无法弄清楚.所以,任何帮助将不胜感激!谢谢
编辑1
所以我实现了我在viewDidLoad中指向的代码,如下所示:
- (void)viewDidLoad {
[super viewDidLoad];
UISwitch *onoff = [[UISwitch alloc] initWithFrame: CGRectZero];
[onoff addTarget: self action: @selector(flip:) forControlEvents:UIControlEventValueChanged];
// Set the desired frame location of onoff here
[self.view addSubview: onoff];
Run Code Online (Sandbox Code Playgroud)
并且它抛出两个警告,说'onoff'的本地声明隐藏了实例变量.但即使有这些收入,UISwitch弹出也好,但是当我移动或使用它时,它看起来并不完全正常.对于我的行为,看起来像这样:
- (IBAction)flip:(id)sender {
if (onoff.on) NSLog(@"On");
else NSLog(@"Off");
}
Run Code Online (Sandbox Code Playgroud)
每当开关打开时,控制台应该打开,当它关闭时,控制台应该读取.对?无论何时我移动它,它只是在控制台中重复,关闭.如果它打开,或者它关闭,它只显示.世界上我做错了什么?请帮忙!谢谢
我读了很多次
从F#或任何其他.NET语言生成的程序集(几乎)难以区分.
然后我在.NET 4(beta 2)上试验F#和C#interop.我用以下类创建了一个新的解决方案和一个C#项目:
public class MyClass {
public static int Add(int a, int b) { return a + b; }
}
Run Code Online (Sandbox Code Playgroud)
然后,在F#项目上,在引用C#项目之后,我尝试了:
MyClsas.Add(4, 5) |> printfn "%d" // prints 9 (no kidding!)
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.然后又出现了我多次读过的另一句话(也许在不同的书上):
将参数传递给其他.NET库中的函数时,使用类似".MethodName(parm1,parm2)"的语法,即参数作为元组传递.
将其添加到我曾经在SO上阅读的内容(但是无法找到它链接到的),在OP试图创建使用的问题[ 4, 5, 6 ](当他的意思[4; 5; 6])时:
"逗号是'元组创建运算符',因为其他一切都使用了分号."
然后我将我的课修改为以下内容:
public class MyClass {
public static int Add(int a, int b) { return a + b; }
public static int Add(Tuple<int, int> a) { return a.Item1; }
}
Run Code Online (Sandbox Code Playgroud)
现在我尝试在F#上使用它:
MyClass.Add(4, 5) …Run Code Online (Sandbox Code Playgroud) 我有一个C程序如下:
#define f(g,g2) g##g2
main()
{
int var12=100;
printf("%d",f(var,12));
}
Run Code Online (Sandbox Code Playgroud)
当我只运行预处理器时,它将其扩展为
{
int var12=100;
printf("%d",var12);
}
Run Code Online (Sandbox Code Playgroud)
这就是输出为100的原因.
谁能告诉我预处理器如何扩展var##12 to var12?
我们可以将类的Type属性限制为特定类型吗?
例如:
public interface IEntity { }
public class Entity : IEntity {}
public class NonEntity{}
class SampleControl {
public Type EntityType{get;set;}
}
Run Code Online (Sandbox Code Playgroud)
假设sampleControl是UI类(可能是Control,Form,..),其EntityType属性的值应该只接受typeof(Entity)的值,而不是typeof(NonEntity)我们如何限制用户赋予特定的在设计时键入(bcause - Sample是我们可以在设计时设置其属性的控件或表单),这在C#.net中是可行的
我们怎样才能使用C#3.0实现这一目标?
在我上面的类中,我需要Type属性,对此必须是IEntity之一.
在使用coredata概念的目标中,我们需要将splite创建为持久存储,否则它将自动创建?
从下面的代码中,如果发生了RVO,我希望看到2个地址指向同一个位置,但事实并非如此(我的编译器是MS VC9.0)
#include <iostream>
#include <string>
std::string foo(std::string& s)
{
std::cout << "address: " << (unsigned int)(&s) << std::endl;
return s;
}
int main()
{
std::string base = "abc";
const std::string& s = foo(base);
std::cout << "address: " << (unsigned int)(&s) << std::endl;
std::cout << s << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在什么条件下应该发生RVO?
顺便说一句,我的问题基于以下讨论:http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/
1个函数是用Java编写的,而另一个函数的API是用PHP编写的.那么,是否可以同时使用JSP和PHP?
如何使用Java中的API从地理坐标(纬度,经度)中获取地址或位置名称?Java中是否有可用的反向地理编码器?
我敢肯定,我正在努力实现这一目标.
我有一个矢量......
vector<Joints> mJointsVector;
Run Code Online (Sandbox Code Playgroud)
...由以下图案构成的结构组成:
struct Joints
{
string name;
float origUpperLimit;
float origLowerLimit;
};
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用"std :: find"搜索mJointsVector以通过其字符串名称找到一个单独的关节 - 到目前为止没有运气,但以下示例帮助,至少在概念上:
任何人都能指出我在正确的方向吗?
java ×3
c# ×2
c++ ×2
iphone ×2
objective-c ×2
c ×1
core-data ×1
f# ×1
find ×1
geolocation ×1
jar ×1
jsp ×1
parameters ×1
php ×1
return-value ×1
std ×1
tuples ×1
uiswitch ×1
uiview ×1
vector ×1