小编Cen*_*ion的帖子

如何生成唯一标识符?

我需要生成一些永远不会重复的int值(至少在理论上).我知道有arc4random()fnc,但我不知道如何使用它与当前日期或smth :(

iphone objective-c uniqueidentifier

22
推荐指数
2
解决办法
3万
查看次数

在iOS中实现表单的最佳实践是什么?

我需要创建几个屏幕表单,用于输入数据和发布到服务器.我还没有做过这样的事情,所以我只是想知道有没有做到这一点的最佳实践.目前,我只会删除几个文本字段,无线电等,进行一些手动输入验证,将输入数据汇编到URL中,然后提交到服务器.

我正在考虑可用性,所以我认为在用户解除键盘(辞职第一响应者)后我应该实现"移动到下一个文本字段".但是如果已经填充了所有输入并且用户更改了一个字段的值,则只需导航到提交按钮.所以,恕我直言,这可能是实施表格的一个实践的例子.你申请了哪些做法?

forms iphone objective-c ios

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

如何在运行时更改标签约束?

我有一个表格视图和里面的单元格.该单元格包含三个标签:标题标签和两个彼此相同的标签.有时,如果它们不包含数据并将"Header label"的"Top space to container"更改为"Center Y to container",我需要隐藏下面的两个标签.当然,当两个标签包含数据时,还原约束.这是一个简单的演示项目的屏幕截图,仅用于展示这个想法:

在此输入图像描述

更新 Max MacLeod的回答指向了正确的方向.诀窍是在隐藏第一个和第二个标签时向下推标头标签.因此,我们需要为第一个和第二个标签设置底部空间到容器视图,而不是为标题标签的容器视图创建顶部空间.隐藏/取消隐藏应该通过高度出口(第一个和第二个标签的高度约束)并将它们的常量值设置为零(并在取消隐藏时设置返回值)来完成.我还将源代码示例上传到Github.

objective-c ios autolayout

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

16
推荐指数
4
解决办法
2万
查看次数

内在大小与系统宽度/高度约束的区别是什么?

开始从弹簧和结构布局移动到自动布局,并对"内在尺寸"设置有一些疑问.

如果你设置一些以"占位符"的"固有大小",并把一些宽度和高度值,那么该观点不能扩展,并会留在固定大小的.但是如果我们将"内部大小"设置为"默认(系统定义)",那么系统将在运行时根据需要决定和缩放视图.

但是,我们可以使用Ctrl + Drag为视图显式设置宽度和高度系统约束.在这种情况下,将存在系统宽度和高度约束以及const占位符值.我正在审查现有代码,并试图理解它是一个错误,应该删除冗余系统宽度和高度约束或还有一些其他隐藏的逻辑.但是,Xcode在运行时不会在控制台中显示任何警告等.这是演示项目的打印屏幕:

在此输入图像描述

objective-c ios autolayout

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

如何在objective-c中看弱和强引用?

维基百科指出"在计算机编程中,弱引用是一种不能保护引用对象免受垃圾收集器收集的引用".这两种类型的引用在代码中是什么样的?弱引用是否是由自动释放的消息引用的?

iphone weak-references objective-c strong-references

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

如何为LLVM声明压缩结构(没有填充)?

有可能告诉GCC它不应该使用填充结构.这是使用完成的__attribute__((packed)).

typedef struct {

  uint8_t startSymbol;
  uint8_t packetType;
  uint32_t deviceId;
  uint16_t packetCRC;

} PacketData __attribute__((packed));
Run Code Online (Sandbox Code Playgroud)

但是,最新的Xcode使用LLVM并且无法识别该属性.如何为LLVM定义压缩结构?

可以在此处找到问题的完整描述

更新 我正在使用Xcode 4.5.1 for iOS,它使用Apple LLVM 4.1编译器.我在上面的代码示例中的Xcode中收到"'packed'属性被忽略"警告.

c struct objective-c

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

为什么使用AWS DynamoDb"Hello world"会产生读/写警报?

我开始玩DynamoDb,我在userid上创建了带有哈希PK的"dynamo-test"表,并且还有更多列(年龄,名字).读写容量设置为5.我将Lambda和API网关与Node.js一起使用.然后我使用类似的有效负载通过API网关手动执行了几个API调用:

{
  "userId" : "222",
   "name" : "Test",
   "age" : 34
 }
Run Code Online (Sandbox Code Playgroud)

我试图偶尔插入相同的项目(这不会产生错误,但默默地成功.)此外,我使用DynamoDb控制台并多次浏览插入的项目(目前只有2个).我没有跟踪我完成这些操作的次数,但这是完全手动完成的.然后一小时后,我注意到CloudWatch中有2个警报:

INSUFFICIENT_DATA dynamo-test-ReadCapacityUnitsLimit-BasicAlarm ConsumedReadCapacityUnits> = 240 12分钟没有通知

与"... WriteCapacityLimit ......"类似的警报.2分钟后写入容量变好,但10分钟后再次返回.无论如何,我还在阅读并学习如何计划和监控这些能力,但如果我超出了我的桌子容量,这个你好世界的例子让我有点害怕:)如果我错过了一些,请指出正确的方向基本部分!

amazon-web-services amazon-dynamodb aws-lambda

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

如何水平居中两个标签?

我有非常简单的要求,其中两个标签必须水平居中.所以,我选择了它们并水平选择了Editor-> align-> center.然后将容器约束的顶部空间添加到它们.我还需要标签来缩小/增加内容大小.但是,IB显示错误和几个警告.我可以通过在它们之间添加引脚(水平空间)来使标签缩小/增长,但在这种情况下它们不会居中.以下是截图:

在此输入图像描述

这是错误和警告:

在此输入图像描述

UPDATE theraven提出了一个有趣的建议,即使用虚拟视图将其水平居中并将两个标签固定到它上面.我删除了所有现有的约束,添加了这个虚拟视图和中心X +中心Y约束.然后为它添加了两个标签(添加了水平空间约束).但是,我仍然收到一堆错误和警告:

在此输入图像描述 在此输入图像描述

UPDATE2只是更新问题,但仍未找到有效答案.@Theraven解决方案适用于iPhone4,iPhone4S,iPhone5和iPhone5S,但它不是真正的中心,而是一种解决方法.因此,对于iPhone6和iPhone6 Plus,它不起作用,因为前导和尾随空格将被修复,并且不会自动调整大小的宽度.

objective-c interface-builder uilabel ios autolayout

12
推荐指数
2
解决办法
8921
查看次数

按下"Tab"键时多次调用textFieldShouldBeginEditing

我有一个包含多个输入字段的表单屏幕,这些字段包含在UITableView中.如果用户连接蓝牙键盘,则可以按"Tab"键.问题是textFieldShouldBeginEditing方法为每个文本字段多次调用.这是正常行为吗?正常的行为是,如果某个字段处于焦点,并且用户按Tab键,则光标应跳转到其他文本字段,因此textFieldShouldBeginEditing只会被调用一次(对于此文本字段).

看起来这个问题没有解决(post1,post2).你们是否忽略了这个问题的存在,或者找到了解决方法?

objective-c ios

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