小编Mat*_*ice的帖子

在视图控制器之间传递数据

我是iOS和Objective-C以及整个MVC范例的新手,我坚持以下内容:

我有一个视图作为数据输入表单,我想让用户选择多个产品.产品列在另一个带有a的视图中,UITableViewController我启用了多个选择.

我的问题是,如何将数据从一个视图传输到另一个视图?我将UITableView在数组中保留选择,但是如何将其传递回上一个数据输入表单视图,以便在提交表单时将其与其他数据一起保存到Core Data?

我已经四处浏览并看到一些人在app delegate中声明了一个数组.我读了一些关于单身人士的事情,但不明白这些是什么,我读了一些关于创建数据模型的内容.

执行此操作的正确方法是什么?我将如何进行此操作?

model-view-controller objective-c uiviewcontroller ios swift

1340
推荐指数
34
解决办法
44万
查看次数

如何将UITextField子类化并覆盖drawPlaceholderInRect以更改占位符颜色

我有一个UITextField带占位符文本集的3 .其中一个UITextField我希望占位符文本为红色.

现在谷歌搜索后,似乎最好的方法是子类UITextField和覆盖drawPlaceholderInRect.

我如何进行子类化和重写drawPlaceholderInRect?我没有找到任何代码示例或教程,我是Objective-c和iOS开发的新手,所以发现它很难解决.

回答:

创建了一个新的objective-c类,称为CustomUITextFieldPlaceholder子类UITextField.在CustomUITextFieldPlaceholder.m下面的代码中

 @implementation CustomUITextFieldPlaceholder

- (void)drawPlaceholderInRect:(CGRect)rect {
    // Set colour and font size of placeholder text
    [[UIColor redColor] setFill];
    [[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:12]];
}

@end
Run Code Online (Sandbox Code Playgroud)

在您的项目中实现上述内容

#import "CustomUITextFieldPlaceholder.h"
Run Code Online (Sandbox Code Playgroud)

IBOutlet CustomUITextFieldPlaceHolder *txtName;
Run Code Online (Sandbox Code Playgroud)

注意:这是有效的,我相信是正确的做法,但我还没有完全测试它.希望这个例子在我的情况下帮助其他人.

编辑:

[[UIColor redColor] setFill];
Run Code Online (Sandbox Code Playgroud)

对于

[[UIColor colorWithRed:255.0 green:0.0 blue:0.0 alpha:0.7] setFill];
Run Code Online (Sandbox Code Playgroud)

这样我就可以将不透明度设置为70%来模仿默认占位符.

iphone subclass objective-c uitextfield ios

17
推荐指数
1
解决办法
1万
查看次数

使用委托将数据传回备份导航堆栈

我一直在与两个视图控制器之间的数据传递斗争几天,并且变得非常困惑.我是Objective-C的新手,并且发现一些棘手的部分让我头脑发热.

我有一个导航控制器,FirstView是一个表单,在这个表单上我有一个加载SecondView的按钮,其中包含一个TableView供用户选择一些选项.然后我想将选择传递回FirstView控制器并显示数据等...

我已经阅读了很多关于这个(stackoverflow,iphonedevsdk,CS 193P资源)和我见过的选项,

1)应用程序委托中的ivar(脏而不推荐)2)创建单例3)创建数据模型类4)使用协议和委托(由apple推荐)

我想做正确的事情,并希望在我的计划中使用选项4 - 代表

问题是,我不了解代表以及如何设置和实现它们.

任何人都可以提供有关如何使用委托和2个视图控制器设置和传递NSArray的基本示例.

在此先感谢马特

delegates objective-c uinavigationcontroller ios

14
推荐指数
1
解决办法
2万
查看次数

NSJSONSerialization - 无法将数据转换为字符串

我遇到了从Met Office Datapoint API读取JSON的NSJSONSerialization的问题.

我收到以下错误

Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Unable to convert data to string around character 58208.
Run Code Online (Sandbox Code Playgroud)

我已根据角色位置检查并认为这是违规行

{"id":"353556","latitude":"57.1893","longitude":"-5.0929","name":"Sóil Chaorainn"}
Run Code Online (Sandbox Code Playgroud)

根据我尝试的几个验证器,JSON本身似乎是有效的,我希望它也来自像Met Office这样的大型组织.

NSJSONSerialization不应该与'ó'这样的字符一起使用吗?

如果不是我如何改变编码类型来处理这个?

提前谢谢了

cocoa-touch json web-services objective-c ios

9
推荐指数
1
解决办法
9311
查看次数

UIImageView背景图像和旋转帮助

在我的iPad应用程序中,我目前有一个1024x1024像素的背景图像png并使用以下设置它

UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background-image"]];
[self.view addSubview:imgView];
[self.view sendSubviewToBack:imgView];
[imgView release];
Run Code Online (Sandbox Code Playgroud)

这增加了UIImageView的精细度,并且视图以横向为中心,但它在纵向偏离中心.

我曾与一些contentMode设置,发挥各地,但没有任何运气,我要么得到肖像是中心或风景为中心,但不能同时使用.

有人可以帮助我在旋转后让UIImageView以纵向和横向为中心.

在此先感谢马特

iphone objective-c uiimageview uiinterfaceorientation ios

6
推荐指数
1
解决办法
8686
查看次数

CoreData实体和属性之间的关系

我在掌握CoreData关系方面遇到了一些麻烦,我注意到我应该在我的2个实体之间使用哪种关系类型,或者我的逻辑是否正确.

1)"人"实体 - 名称,电话,地址,国家等属性......

2)"CountryList" - countryName,countryLat,countryLong等属性.

CountryList实体在首次运行应用程序时预先填充,以包括世界上所有国家/地区及其受尊重的数据.

我被困的地方是否需要这两个实体之间的关系?

我将允许用户从CountryList实体数据中选择一个国家,并希望在Person实体的country属性中存储选择.

我是否只将CountryList中的countryName作为字符串并将其存储在Person的国家/地区?还是我可以在他们之间建立关系?

我知道一个用户只能属于一个国家,但一个国家可以有很多用户,所以这是一对多的关系吗?或者它是多对多,因为许多用户可以属于一个国家,但一个国家可以拥有大量用户?困惑!

有人可以请教我这个,并指出我在xcode中应该做的正确的方向.

非常感谢Matt先生

编辑:这是对的吗?

我已对实体名称等进行了更改,并认为我现在已正确设置关系.

Xcode截图

编辑2:删除了国家/地区属性并重命名了关系

Xcode截图

iphone xcode core-data objective-c ios

5
推荐指数
1
解决办法
5143
查看次数

Javascript使用datejs来解析RFC3339 datetime

我在使用带有Google Calendar API日期格式的dataj时遇到问题.我认为日期时间格式是RFC3339,这是从日历api返回的示例日期时间

2012-01-05T08:45:00Z
Run Code Online (Sandbox Code Playgroud)

这是从datejs文件在这里

Date.parse('1985-04-12T23:20:50Z')          // RFC 3339 Formats
Run Code Online (Sandbox Code Playgroud)

但这只是返回null.

我假设我有datejs正常工作

Date.today().next().friday() 
Run Code Online (Sandbox Code Playgroud)

返回2012年5月11日星期五00:00:00 GMT + 0100(BST)

javascript datetime date datejs

4
推荐指数
1
解决办法
1860
查看次数

等待多个异步Web调用,然后对其结果执行操作

处理多个异步Web调用的最佳实践是什么?

塞纳里奥:

我从一个Web服务中获取JSON提要中的大量地址列表,还查询CLGeocoder从地址字符串中进行纬度/经度查找.然后,一旦我有两条信息,我想执行一个动作.

什么是最好的方法,通过在链接链中将所有方法耦合在一起?

iphone asynchronous objective-c ios

1
推荐指数
1
解决办法
1772
查看次数