如何检测textField中的任何文本更改?委托方法shouldChangeCharactersInRange适用于某些事情,但它并不能完全满足我的需要.由于它返回YES,因此textField文本不可用于其他观察者方法.
例如,在我的代码calculateAndUpdateTextFields中没有获得更新的文本,用户已键入.
他们是否有办法获得类似textChangedJava事件处理程序的东西.
- (BOOL)textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
{
if (textField.tag == kTextFieldTagSubtotal
|| textField.tag == kTextFieldTagSubtotalDecimal
|| textField.tag == kTextFieldTagShipping
|| textField.tag == kTextFieldTagShippingDecimal)
{
[self calculateAndUpdateTextFields];
}
return YES;
}
Run Code Online (Sandbox Code Playgroud) 我试图将我的应用程序的app store build zip文件上传到app store.
在我的办公室防火墙后面使用时,TCP/IP连接失败.
我需要知道应该通过使用应用程序加载器打开上传iPhone应用程序的确切端口.这样端口就可以打开了.或者任何其他配置,如果你知道的话.
每次我在iTunesConnect中运行上传到TestFlight的测试版应用时,我都会收到新的广告标识符.这是正常的行为吗?它也会发生在AppStore应用程序中吗?我正在使用广告标识符在某些上下文中标识用户及其凭据.但如果它在每次运行中都发生变化,则用户必须在每次运行中激活.
[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
Run Code Online (Sandbox Code Playgroud)
在testflight构建中,在3次运行中,我得到了,例如
ID: 3E841B61-B007-44D3-B654-6C857122301E
ID: 2EC3682A-D162-4CE6-B07A-8B73282456A4
ID: 1D8513EA-0757-4E5F-8CEE-B6C4F782E966
Run Code Online (Sandbox Code Playgroud)
这在调试或临时构建中不会发生.任何人都可以对此有所了解吗?
提前致谢.
我想从localizable.strings文件中读取文本.我正在从几个目录中收集用于翻译的字符串,并将文件放在一个.strings文件中.但后来我有几个相同翻译字符串的副本.我想以编程方式删除它.所以我需要从.strings文件中读取字符串(而不是注释),然后 - 然后对它们进行排序, - 删除重复的字符串,然后创建一个新的.strings文件.
是否可以读取字符串文件并将字符串和翻译后的值保存在字典中.我的意思是任何读取.text文件的内置方法,只有"key"="value"部分,避免使用/*...*/或#views部分.喜欢阅读配置文件.
我在标签栏控制器中有3个视图控制器.单击任何选项卡会在导航堆栈中加载其根视图控制器.
例如tab1,tab2和tab3.
导航堆栈中的第二个视图控制器(tab2VC2)有一个tableView.单击tab2,在tab2中显示VC,然后点击tab1,尝试转到rootVC.然后应用程序崩溃说
[UserDetailVC tableView:cellForRowAtIndexPath:]:发送到解除分配的实例0xe0a23b0的消息
如果我用动画popToRootVC那么没关系.我发现tab2VC2中的viewDidAppear被调用,其中tableView.reloadData被调用,然后是dealloac,似乎在此期间reloadData开始工作,表被释放.在动画的情况下,它会有一些时间,所以它不会崩溃.但没有动画,就会崩溃.你觉得,这是一个iPhone的bug吗?或者我做错了?由于pop到root控制器有一个没有动画的选项,它应该可以工作,不是吗?
#pragma mark Tab bar controller delegate
- (void)tabBarController:(UITabBarController *)tbController didSelectViewController:(UIViewController *)viewController {
int i = tbController.selectedIndex;
NSArray *mycontrollers = tbController.viewControllers;
[[mycontrollers objectAtIndex:i] popToRootViewControllerAnimated:NO];
}
Run Code Online (Sandbox Code Playgroud) 我有一个数据库模式=将作为JTable列显示在JCombobox中以选择名称.但我希望ID字段在另一个表中插入(作为外键).
通常,在下拉列表中选择一个项目,将所选项目带到组合框的显示区域.
我想要做的是,当在组合框中选择任何项目(字符串)时,其对应的整数键(可以保存在有序映射中)应该显示在组合框占位符区域中,以便在获取JTable的值时. getValueAt(row,column),我得到整数键,而不是字符串项值.请帮帮我怎么办?
我有一个UIView子类,在需要时加载到UIViewController中.这个视图在iPhone 3/4/5中工作正常或似乎工作正常.它在iPad 1/2中看起来也不错.但对于iPad视网膜屏幕,视图是像素化的.所有标签,按钮,视图背景,文本都是像素化的.
之前我没有覆盖drawRect方法.但是通过其他一些提示,我做到了.但仍然没有解决问题.
任何想法,视网膜显示的问题在哪里?
我对目标c变量参数函数一无所知.我想编写一个将采用nlsog类型参数的函数,但有时我会在该函数中使用NSLog.我怎样才能做到这一点?
-(void) printStatus:(NSString*)status, ...
{
// I want use use NSLog with all these parameter here.
// some gui logging also happens here
}
Run Code Online (Sandbox Code Playgroud)
电话会是这样的,
[self printStatus:@"status"];
Run Code Online (Sandbox Code Playgroud)
要么
[self printStatus:@"Staus: %@", someObject];
Run Code Online (Sandbox Code Playgroud)
而不是使用NSLog,我想使用printStatus.当我需要将控制台日志切换到GUI日志记录时,我只能更改为printStatus函数,而不是更改代码中的所有位置.
或者在我这里使用DLog,
#ifdef DEBUG
# define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
# define DLog(...) /* */
#endif
Run Code Online (Sandbox Code Playgroud) 如果我在这里发布dueDate,我在我的代码的其他地方有BAD_EXCESS.我在这做错了什么?invoice是这里的核心日期对象/实体.
NSDate *deliveryDate = [NSDate dateWithTimeIntervalSinceNow: - oneDayInSeconds * 7];
NSDate *dueDate = [[NSDate date] initWithTimeInterval:(NSTimeInterval) (oneDayInSeconds * 3) sinceDate:deliveryDate];
[invoice setDueDate:dueDate];
//[dueDate release];
Run Code Online (Sandbox Code Playgroud) 我有A类继承了B类.并希望实现类似下面的东西.但是由于动态类型转换,init方法会得到递归调用.有没有办法实现这样的?有什么建议吗?(不改变子类中'init的名字?
@interface A : NSObject
@property NSData * data;
@end
Run Code Online (Sandbox Code Playgroud)
@implementation A
- (id) init {
self = [super init];
/* want to do some default initialization here
for this class and all of its subclasses. */
// ... ...
return self;
}
/* This [self init] get recursed.
But how can I force this class and all of its subclass to call [self init] above,
not to call the subclass's init method. */
- (id) initWithData:(NSData *)d {
self …Run Code Online (Sandbox Code Playgroud) 搜索了一下,但找不到解决方案。假设我有一个标签和一个文本字段。我希望文本字段与其超级视图中间的右侧对齐 10 像素,宽度为超级视图的一半 - 20 像素。即两侧有 10 像素的间隙。我怎样才能在故事板中实现这一目标?有可能吗,或者我为此编写了代码?同样 Label 是 superview 的一半 - 20 px 宽度。左对齐。10 像素左间隙。
我想在一个应用程序中打包多个应用程序.因此,下载一个应用程序并将其安装到iPhone中将安装3/4应用程序.像java midlet这样的东西适合在一个jar文件中有多个Midlet.是否可以使用多个目标或捆绑,聚合目标等?
我的应用程序中有一些内存泄漏,但我无法弄清楚原因.如果我释放这些对象,应用程序崩溃.苹果批准我的应用程序是一个问题吗?
ios ×8
iphone ×5
objective-c ×4
memory ×2
memory-leaks ×2
ads ×1
app-store ×1
dynamic ×1
file ×1
inheritance ×1
ipad ×1
java ×1
jcombobox ×1
jtable ×1
nslog ×1
packages ×1
storyboard ×1
swift ×1
testflight ×1
text ×1
uikit ×1
uiview ×1
xcode ×1