小编Man*_*lio的帖子

Pthread创建为独立

创建一个脱离的线程时遇到问题.这是我写的代码:

void* testFunction() {

    pthread_attr_t attr;
    int chk,rc;

pthread_attr_init(&attr);
printf("thread_attr_init: %d\n",rc);

pthread_attr_getdetachstate(&attr, &chk);
printf("thread_attr_getdetachedstate: %d\n",rc);

if(chk == PTHREAD_CREATE_DETACHED ) 
    printf("Detached\n");
else if (chk == PTHREAD_CREATE_JOINABLE) 
    printf("Joinable\n");

return NULL;
}


int main (int argc, const char * argv[]) {

pthread_t thread1;
pthread_attr_t attr;

int rc;

rc = pthread_attr_init(&attr);

printf("attr_init: %d\n",rc);
rc = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
printf("attr_setdetachedstate: %d\n",rc);

rc = pthread_create(&thread1, &attr, testFunction, NULL);
printf("attr_create: %d\n",rc);

sleep(4);
pthread_cancel(thread1);

return 0;
}
Run Code Online (Sandbox Code Playgroud)

问题是testFunction()始终打印"可加入".谁能告诉我哪里出错了?

c pthreads detach

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

将NSArray拆分为较小的NSArray组以进行分页

我有一个NSArray说100 NSManagedObjects,我需要将它分成一个NSArray包含10个NSArray对象,每个对象持有10个论文NSManagedObjects,我将如何实现?

我打算做一些分页,这对我来说很有用.

iphone objective-c ipad

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

如何在uisplitviewcontroller中解除NavigationController后重新加载tableView?

我正在使用UISplitviewController一个模板.

编辑按钮的操作:

newExViewController *editWindow =[[newExViewController alloc]initWithNibName:@"newExViewController" bundle:nil];
UINavigationController *navBar=[[UINavigationController alloc]initWithRootViewController:editWindow];
navBar.modalPresentationStyle = UIModalPresentationFormSheet;
navBar.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

[self presentModalViewController:navBar animated:YES];
[navBar release];

[editWindow release];
Run Code Online (Sandbox Code Playgroud)

navBar有一个UIBarButtonfor saveButton.按SaveButton时会调用此方法

[self dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)

现在是问题了:任何想法如何在modalView被解散时重新加载主NavigationConteroller和detailViewController的数据?我不知道thnx

xcode objective-c ipad uisplitviewcontroller modalviewcontroller

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

基本算法分析和求和表示法

因此,对于作业,我们必须计算一段代码中的步数.这里是:

int sum = 0;
for (int i = 1; i <= n*n; i++)
   for (int j = 1; j <= i; j++)
      for (int k = 1; k <= 6; k++)
          sum++;
Run Code Online (Sandbox Code Playgroud)

我的教授(我认为)解释说,第二行中的操作数可以使用求和符号找到,如下所示:

n^2
?   x 4 + 3 
i=1
Run Code Online (Sandbox Code Playgroud)

这将是1/2(n ^ 4 + n ^ 2)×4 + 3 = 2n ^ 4 + 2n ^ 2 + 3

但只是看看这条线,我觉得它会像4n ^ 4 + 2(我的教授说4n ^ 4 + 3,我不知道第三次操作在哪里......)

我在这里做错误符号吗?对于我来说,对嵌套for循环进行求和表示法是有意义的,但我不知道为什么它本身可以用于for循环.

谢谢.

algorithm

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

无法读取kABPersonPhoneProperty

我正面临一个(奇怪的)问题:我想检索一个联系人的电话号码,但由于某种原因,我无法这样做.

我用了

ABAddressBookRef addressBook = ABAddressBookCreate();
NSArray *contacts = (NSArray*) ABAddressBookCopyArrayOfAllPeople(addressBook);
CFRelease(addressBook);
Run Code Online (Sandbox Code Playgroud)

获取所有联系人的数组.然后我想用

ABMultiValueRef ref = ABRecordCopyValue([contacts objectAtIndex:i], kABPersonPhoneProperty);

NSLog(@"%d",ref==NULL);
Run Code Online (Sandbox Code Playgroud)

ABRecordCopyValue总是返回nil...
请注意,我能够检索有关联系人的其他信息:例如,提取名称可以正常使用

CFStringRef name = ABRecordCopyCompositeName([contacts objectAtIndex:i]);
Run Code Online (Sandbox Code Playgroud)


愿有人向我解释我做错了什么吗?我正在使用Snow Leopard和Xcode 4.2,我正在为iOS 4.0开发......

编辑:我找到了一个解决方案:而不是使用

ABRecordCopyValue([contacts objectAtIndex:i], kABPersonPhoneProperty);
Run Code Online (Sandbox Code Playgroud)

我用了

ABRecordID idRec = ABRecordGetRecordID([contacts objectAtIndex:i]);
ABMultiValueRef ref = ABRecordCopyValue(ABAddressBookGetPersonWithRecordID(addressBook, idRec), kABPersonPhoneProperty);
Run Code Online (Sandbox Code Playgroud)

但是我必须保持对addressBook(不要释放它)的引用有效,因此EricS建议的解决方案似乎更好.

cocoa objective-c abaddressbook ios

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

在OpenGL中加载纹理时颜色错误

我试图了解如何在OpenGL中加载纹理,我写了这个非常简单的代码:

GLuint texture;

void loadTexture() {

    GLubyte data[] = {  255,0,0,
                        0,255,0,
                        0,255,0,
                        255,0,0    };

    glGenTextures(1, &texture);

    glBindTexture(GL_TEXTURE_2D, texture);          

    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);

    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);   
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);   

    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );

    int chk = gluBuild2DMipmaps( GL_TEXTURE_2D, GL_RGB, 2, 2, GL_RGB, GL_UNSIGNED_BYTE, data );

    if (chk!=0) 
        printf("error code = %d\n",chk);
    else 
        printf("success\n");  

}
Run Code Online (Sandbox Code Playgroud)

我用来loadTexture()在内存中加载纹理.在这个样本中,纹理非常简单,但目前无关紧要.

void drawTexturedSquare() {

    glEnable( GL_TEXTURE_2D );
    glBegin (GL_QUADS);

    glTexCoord2f (0.0, 0.0);
    glNormal3f(0, 0, 1);
    glVertex3f (0.0, 0.0, 0.0); …
Run Code Online (Sandbox Code Playgroud)

c++ opengl graphics glut textures

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

访问单个文件的元数据

有没有办法以编程方式访问 MacOS 上单个文件的元数据?

我知道苹果提供了NSMetadataQuery,但它似乎只允许在特定文件夹中搜索与某些参数匹配的文件。实际上我不想搜索所有匹配的文件,而是检查特定文件是否匹配。

有没有办法或唯一的解决方案是分析查询结果并查看我的文件是否在其中?

macos cocoa metadata objective-c nsmetadataquery

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

selectRowAtIndexPath:animated:scrollPosition: - 行被"选中"

我使用以下代码滚动到tableView的顶部:

NSIndexPath *topIndexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.listTableView selectRowAtIndexPath:topIndexPath animated:NO scrollPosition:UITableViewScrollPositionMiddle];
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但我想避免目标行被"选中".见下图:

在此输入图像描述

关于如何在此代码运行后"取消选择"行的任何想法?或者更好的是,以不首先"选择"目标行的方式运行此代码?

xcode objective-c uitableview nsindexpath ios

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

Bash 脚本 su 退出 shell

我正在尝试编写一个 bash 脚本,该脚本以不同的用户身份执行多个命令来自动化安装过程。

在某一时刻我有

su gpadmin
gpperfmon_install --enable --password password --port 5432
y  
gpstar
y 
Run Code Online (Sandbox Code Playgroud)

su gpadmin 以 root 身份运行,一旦运行,脚本就会停止,直到我退出 gpadmin 并以 root 身份返回。

如何在不停止脚本的情况下切换到新用户?

抱歉我的无知,我尝试用谷歌搜索但没有发现任何有用的东西。任何帮助将不胜感激。

bash shell su

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

为什么我的iPhone不振动?

当我选择UITableView中的单元格时,我尝试使用Vibration.

在我的didselectedRowAtIndexPath我已经把这个代码:

    #pragma mark - DidselectRow

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    //SPINNER
    [spinner startAnimating];


    //[self performSelector:@selector(pushDetailView:) withObject:tableView afterDelay:0.1];

    int *riga = indexPath.row;
    [NSThread detachNewThreadSelector:@selector(pushDetailView) toTarget:self withObject:riga];

    ////////////////////////////////////////////////////////////////////////////////
    //                          VIBRATION ALLERT                                  //
    ////////////////////////////////////////////////////////////////////////////////

    // Issue vibrate
    //AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
    AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
    NSLog(@"Vibra?");
    ////////////////////////////////////////////////////////////////////////////////
    //                          VIBRATION ALLERT  FIN                             //
    ////////////////////////////////////////////////////////////////////////////////



    NSLog(@"Seleziono l'immagine: %@", [photoTitles objectAtIndex:indexPath.row]);

    //creo un'istanza di DettaglioView
    DettaglioView *dettaglioImmagine = [[DettaglioView alloc] initWithNibName:@"DettaglioView" bundle:nil];



    //Inseirsco il titolo nella Navigation BAR della vista
    dettaglioImmagine.titoloSource = [photoTitles objectAtIndex:indexPath.row];

    dettaglioImmagine.imageCoverSource = [photoURLsLargeImage objectAtIndex:indexPath.row];
    NSLog(@"imageCoverSource: %@", …
Run Code Online (Sandbox Code Playgroud)

objective-c iphone-vibrate vibration ios

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

发送短信iPhone

我试图从我的应用程序内发送短信.我写了这段代码,但似乎没有用.没有崩溃,没有错误日志,根本没有发生任何事情(当然我试图记录canSendText,结果是1).

- (void)viewDidLoad
{
    [super viewDidLoad];

    messageComposer = [[MFMessageComposeViewController alloc] init];

    if ([MFMessageComposeViewController canSendText]) {

        [messageComposer setBody:@"Messaggio generato da SMSTest"];
        [messageComposer setRecipients:[NSArray arrayWithObject:@"3333333333"]];
        [messageComposer setDelegate:self];

        [self presentModalViewController:messageComposer animated:YES];
    }
}
Run Code Online (Sandbox Code Playgroud)

谁能解释一下我做错了什么?

iphone sms cocoa-touch mfmailcomposeviewcontroller

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

均匀矩阵有八个独立的矩阵元素比率?

我正在读一些关于计算机视觉的论文.这看起来像一个简单的事实,但我无法理解.它是关于用于平面投影变换的同质[3×3]矩阵.据说它有八个独立的矩阵元素比例.我不知道比率是多少,八个独立比率是多少?请帮我解决这个问题.

谢谢.

computer-vision matrix-vision homogenous-transformation projection-matrix

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

库创建:标准解决方案?

我想知道是否有一种标准方法来解决我面临的问题:

我正在用C编写一个库.lib将提供不同类型的函数,例如用特定类型的数据填充数组或用这些数据进行计算的函数.

lib应该有助于解决特定问题,因此可以预期在开始时创建的数据将用于稍后进行计算.

因此,有一些数据应该在问题解决过程中"共享"(例如数组的大小或一些对计算有用的其他参数).
我想避免将这些数据作为每个函数的参数(即将数组的大小传递给每个函数).

我的想法是:

  • 创建一组只能从库函数访问的静态全局变量.

  • 为这些变量创建一个setter/getter,定义一个自定义enum类型,用于解决设置/获取的确切变量(即set(kScaleFactor, 10)).

然而,正如我之前所说,是否有一种"标准"(或常用)方式来解决这个问题?我的方法可以考虑好吗?

c architecture standards

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