草庐IT

Binding_New_Objective-C_Types

全部标签

objective-c - 在运行时创建实例变量

我想在运行时动态创建实例变量,我想将这些变量添加到一个类别中。实例变量的数量可能会根据我用于定义它们的配置/属性文件而改变。有什么想法吗?? 最佳答案 使用AssociativeReferences-这很棘手,但这是专门为您的用例发明的机制。这是来自上面链接的示例:首先,您定义一个引用并使用objc_setAssociatedObject将其添加到您的对象中;然后您可以通过调用objc_getAssociatedObject取回该值。staticcharoverviewKey;NSArray*array=[[NSArrayalloc

objective-c - 将大小设置为自定义 iOS 字体不起作用

我在我的iPhone应用程序中使用了一些自定义字体。它们显示正确,但我无法更改它们的大小。以下是如何为UILabel设置此字体:myLabel.font=[UIFontfontWithName:@"Cabin-Regular"size:18];这个标签是uitableview单元格的一部分,如果它能发挥任何作用的话。IB中的标签设置:我只更改此标签代码中的颜色、文本和字体。有什么问题吗? 最佳答案 您确定字体加载正确吗?你可以试试:for(NSString*familyNamein[UIFontfamilyNames]){NSLog

objective-c - Objective-c 中的奇怪类型转换

我找到了一个演示片段,它使用了这样的类型转换:(int)view。'view'是UIView对象的指针。我从来不知道它可以用来转换类型。有人可以帮我解释一下吗?在此处粘贴代码-(CGPoint)accelerationForView:(UIView*)view{//returnCGPointaccelecration;//getaccelerationNSValue*pointValue=[self._accelerationsOfSubViewsobjectForKey:[NSNumbernumberWithInteger:(int)view]];if(pointValue==nil

objective-c - ios多类实现

我是前端开发出身,所以MVC和OOP还是让我有些头疼。只是为了向您解释,我向nodejs服务器发送了500个词典(带有100个参数)。问题是我为每个参数和每个字典创建了ivars。现在我想创建一些类,比如person类,在同一个头文件中,例如我有我的同步类。我可以在标题上做这样的事情:#import#import"GCDAsyncSocket.h"@classGCDAsyncSocket;@interfacesocketDelegate:NSObject{NSInputStream*inputStream;NSOutputStream*outputStream;NSMutableArr

objective-c - 如何通过单独提供 key 文件来播放m3u8加密的播放列表?

我有一个m3u8播放列表文件(我们称之为素数),它指向另一个播放列表文件,该文件又具有带有key文件URL的tsURL。使用MPMoviePlayer我目前可以播放primem3u8文件。这些段是encrypted与AES-128位加密,key文件在最后m3u8文件。有没有办法我可以提供最终的m3u8文件并告诉应用程序使用本地key文件来解密视频,因此我不必公开发布key文件。这与thisSOquestion有些相关 最佳答案 我已经实现了类似的东西。我们所做的是:在运行时使用JWT加密直播流片段的每个片段具有键值对和时间戳组合的t

objective-c - GameKit/互联网上的点对点

对于我正在开发的iOS应用程序,我希望多部手机相互连接并能够在这些设备之间进行语音聊天。当两个设备都在同一个网络上时,我可以正常工作。这非常简单,我想做的大部分事情都是可能的。但是现在我要添加互联网支持,这很麻烦。我将首先尝试使用我设置的小型网络服务来解释我想要如何匹配设备。服务器使用session模式GKSessionModePeer开始一个新的GameKitsession在我刚刚创建的session中找到服务器的“PeerID”在空闲端口上创建一个新的CFSocketRef并使其准备好接受连接将对等ID和端口号发送到我在外部服务器上运行的网络服务。网络服务Webservice接收信

objective-c - 这些情况的正则表达式是什么?

这些情况的正则表达式是什么:29000.12345678900,预期结果29000.12345678929000.000,预期结果2900029000.00003400,预期结果29000.000034简而言之,如果在小数点后面找不到1-9,我想去掉0点,如​​果实际上这个数字可以认为是整数,我也想去掉点(.)。我使用这个正则表达式(?:.0*$|0*$)但它给了我这个结果:29123.6来自29123.6400,4已经从那里消失了。当我单独测试正则表达式时,它工作得很好,.0*$从29123.0000给我291230*$从29123.642300给我29123.6423我是否遗漏了组

objective-c - 有弹性的 UIBezierPath 线?

我想用我的手指画一条直线,它会根据我离原点的距离自动调整大小。因此,如果我触摸屏幕中间并将手指滑出,则当我的手指在屏幕上移动时,一条线似乎会“拉伸(stretch)”并围绕原点旋转。当我抬起手指时。目的地点应该最终确定并创建一条线。我可以在屏幕上拖动手指并在屏幕上“绘图”,但这不是我想要做的。我认为UIBeizerPathmoveToPoint会有所帮助,但它只会把事情搞砸。我做错了什么?-(id)initWithFrame:(CGRect)frame{//defaultlinepropertiesmyPath=[[UIBezierPathalloc]init];myPath.line

ios - Objective-C 中线程安全初始化器的这两种实现之间的区别

所以我有一个单例,我试图理解这两种实现之间的区别:从功能上讲,我已经尝试用它们运行我的代码,它们都可以工作但是,我注意到在第一个实现中没有调用[selfalloc],而是调用[superalloc]。我对此有点困惑。它似乎有效,但它似乎有点神奇,所以我想知道是否有人可以澄清第一种方式:+(id)getSingleton{staticdispatch_once_tpred;dispatch_once(&pred,^{locMgrSingleton=[[superalloc]init];});returnlocMgrSingleton;}另一种方式+(id)getSingleton{@sy

iOS/Objective-C 元类和类别

我理解一个类实际上是一个对象/struct(objc_class*)的类型定义。每个类都有一个“支持”元类,它又有一个指向NSObject元类的isa指针。NSObject基本上有一个指向自身的isa指针。我们可以通过这一行获取元类:objc_getMetaClass("");我希望到目前为止我对元类的理解没有偏离(如果是,请纠正我)。我的问题是:1.)Whenwouldweneedtodealwithmetaclass?Couldyoupleaseciteanexample/ascenarioincodewhenwemightneedto?2.)背景:我在自由思考第三方库及其结构。通